Clang和 gnu++的区别

 
Category: C++

默认初始值

#include <bits/stdc++.h>
using namespace std;
void f(int* x) {
    cout << x << endl;
    cout << *x << endl;
    cout << *(x + 1) << endl;
}

int main(int argc, char* argv[]) {
    //
    int x[0]{};
#ifdef __clang__
    // clang
    cout << "clang++:\n";
    f(x);
#endif
// clang++:
// 0x16ef5f2dc
// 1
// 1861612928
#ifdef __GNUC__
#ifndef __clang__ // G++
    cout << "g++:\n";
    f(x);
#endif
#endif
    // g++:
    // 0x16fa27300
    // 0
    // 0
    return 0;
}