摘要:
1、越界检查a[2] 数组不会检查越界,vector会检查越界 2、容器中不能存放引用vector, vector<int*>,vector<int&>(这种情况不可以) 引用是个别名,不是对象,不是对象不能往vector中放 3、比较少见的几种创建方式vector a(5, -1); // 初始化 阅读全文
摘要:
一、string对象操作string str1、str.c_str() 返回const char* 2、两个字符串不能挨着相加 "abc" + "de" // 错误, // 因为两个字符串直接相加,不知道得到的是什么类型,会导致编译错误; "abc" + s + "de" //正确, // 其中s 阅读全文
摘要:
1、const char * p p指向的东西,不能通过p来修改,其指向的内容可以通过其他的指针来修改 char str[] = "hello"; const char* p = str; p[0] = 's'; // 错误,不能通过const char* 指针来修改其指向的值 str[0] = ' 阅读全文
摘要:
小知识点:1、strcpy 和 strcpy_s(1)strcpy(char* point, char const* charValue)将 charValue 的值往 point 指向的内存区域拷贝,如果内存不够,会将溢出的部分继续往后面拷,会导致其他的内存区域被覆盖,可能引起程序不定时崩溃(2) 阅读全文
摘要:
定义: 在函数定义(注意不是函数声明)前加上 inline 关键字(1)编译器在编译阶段对 inline 函数进行处理,系统尝试将该函数的调用动作替换成函数本体,来提升性能。(2)inline 只是我们开发者对编译器的一个建议,编译器可以尝试去做,也可以不去做,取决于编译器的诊断功能,我们无法控制。 阅读全文