02-范围for语句,new内存分配,nullptr

范围for

    int a[] {1,2,3,4,5,6};
    for(auto &x: a) {
        cout << x << endl;
    }
面试题:内存分区
  栈区:存放临时变量,编译器自动分配和释放。
  栈区:用malloc/new分配, 用free/delete释放,忘记释放,系统回收。
  全局/静态存储区:放全局变量和静态变量static。程序结束时候系统释放。
  常量存储区:”I am abc”
  程序代码区

demo:

    int *myInt = new int;
    int *myInt = new int(222);
    int *pa = new int[111];
delete pa[];

nullptr

使用nullptr避免指针和整型的混淆。
nullptr也代表空指针 【int p = nullptr; // 不可以】 【int *p = nullptr;】
null就是0 【int a= NULL =》int a = 0;】

    char *p = NULL;
    char *q = nullptr;
    int *a = nullptr;
    if(p == nullptr) {
        cout << "NUL == NULLPTR" << endl;
    }
    if(q == NULL) {
        cout << "q == NULL" << endl;
    }
    cout << typid(NULL).name << endl;
    cout << typid(nullptr).name << endl;
posted @ 2022-04-27 16:43  季以  阅读(48)  评论(0)    收藏  举报