c++那些事儿学习笔记
链接
const
用于修饰常量。
指针与const
1 2 3 4
| const char * a; char const * a; char * const a; const char * const a;
|
static
在C++中,static静态成员变量不能在类的内部初始化。在类的内部只是声明,定义必须在类定义体的外部,通常在类的实现文件中初始化。
static就记住内存中只有一个备份
1 2 3 4 5 6 7 8 9 10 11
| void test() { static int count = 0; std::cout << count++ << std::endl; }
int main() { test(); test(); }
|
extern
再一个文件中正常定义一个变量,其他文件想要使用这个变量则使用extern重新声明这个变量。注意使用extern的文件不可包含定义变量的文件。eg:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include <iostream> extern int count; void write_extern(void) { std::cout << "Count is " << count << std::endl; }
#include <iostream>
int count; extern void write_extern();
int main() { count = 5; write_extern(); }
|
文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| #include <iostream> #include <fstream>
int main() { std::fstream f; f.open("file", std::ios::out | std::ios::trunc); f << "asdasd"<<std::endl; f.close(); std::fstream r; r.open("file", std::ios::in); std::string str; char c; while (( c = r.get())!=EOF) { str.push_back(c); r.seekg(1, std::ios::cur); } str.clear(); r.seekg(0, std::ios::beg); char* ch = (char*)malloc(100*sizeof(char)); std::cin.getline(ch,100); std::cout << ch << std::endl;
}
|