一、string相关
1.字符串转换问题
字符串到数字 std::stoi()
数字到字符串 std::to_string()
2.字符串流处理
数据流读:istringstream >> : 读时候以" "为分割符
数据流写:ostringstream <<
string str="i an a boy";
istringstream is(str);
string s;
while(is>>s)
{
cout<<s<<endl;
}
二、类概念相关
1.空类的大小(sizeof) = 1,声明类型的实例时,必须在内存中占有一定的内存
三、内存分配相关
1.malloc()
1)内存是块状链表形式:头部包括自身指针、下一块指针、内存大小
2)申请:从空闲的链表中拿到,若大小合适直接从空闲链表中取下;若大小太大,则根据申请大小修改内存头部一部分留在空闲链表,一部分拿下来
3)释放:扫描空闲链表寻找合适的位置,若存在相邻的空闲块,则进行合并,减少碎片
四、关键字
1.sizeof() // 求类型大小的关键字,可以省略括号
1)数组:int[10] a; -> sizeof(a) // 10*4 = 40
2)其他为类型的字节大小 int *a; -> sizeof(a) // 4
3)若数组作为函数的参数进行传参时,数组会自动退化为指针
int GetSize(int data[]) { sizeof(data); } // 此时求的是指针的大小
五、C++11
1.NULL与nullptr
NULL在编译时会被替换为0,因此会导致函数默认值的多义;
nullptr仅表示空指针