C++|C++ 基础知识

  • 标准库的头文件省略了.h后缀
  • 【C++|C++ 基础知识】#pragam once
  • int main(int argc, char* argv[]),argc 给出了程序的参数的数目,argv包含了这些参数。
  • C++中可以在任何位置声明变量,并且可以在声明一个变量所在行之后的任意位置使用该变量, 但是建议在声明变量后给变量指定初始值
  • 类型转换
    bool somebool = (bool)someint; bool somebool = bool(someint); bool somebool = static_cast(someInt);

数组
  1. std::array ,C++ 11 引入了名为std::array的新型容器
  2. 标准数组以及新的std::array都具有固定的大小,在编译时必须知道这一点,在运行时数组不会增大或者缩小
  3. 动态分配的数组
int* myVariableSizeArray; myVariableSizeArray = new int[arraySize]; myVariableSizeArray[1] = 2; delete [] myVariableSizeArray; // 删除

  1. 每次调用new或者new[] 时,都必须相应的调用delete或者delete[]
  2. 每次调用malloc()都必须响应的调用free()
  3. 为了避免常见的内存问题,应该使用智能指针而非普通指针。智能指针超过作用域时,智能指针会自动释放内存。
Const 为了遵循const-correctness原则,最好将不改变对象的任何数据成员的成员函数声明为const。相当于非const成员函数“修改器”,这些成员函数被称为“检测器”

    推荐阅读