C/C+:関数を呼び出してグローバル変数を初期化
C/C+:関数を呼び出してグローバル変数を初期化
実験環境:
まずCを見てみましょう.
C++を見てみましょう.
そのCファイルをg++でコンパイルしてみます.
==通過しました...
質問をします.
順序付けされた呼び出しですか?保証できますか?
実験環境:
[jiang@eb50 ~]$ uname -a
Linux eb50 2.6.18-348.el5 #1 SMP Wed Nov 28 21:22:00 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
gcc 4.1.2 20080704 (Red Hat 4.1.2-54)
まずCを見てみましょう.
#include
#include
time_t mt = time(NULL);
int foo()
{
return 10;
}
int x = foo();
int main()
{
fprintf(stdout, "%s", ctime(&mt));
fprintf(stdout, "%d
", x);
return 0;
}
[jiang@eb50 ~]$ gcc -o main main.c
main.c:4: :
main.c:11: :
C++を見てみましょう.
#include
#include
using namespace std;
time_t mt = time(NULL);
int foo()
{
return 10;
}
int x = foo();
int main()
{
cout<cout<return 0;
}
[jiang@eb50 ~]$ g++ -o main main.C
[jiang@eb50 ~]$ ./main
Fri Jun 23 16:30:26 2017
10
そのCファイルをg++でコンパイルしてみます.
[jiang@eb50 ~]$ g++ -o main main.c
[jiang@eb50 ~]$ ./main
Fri Jun 23 16:31:04 2017
10
==通過しました...
質問をします.
#include
#include
#include
using namespace std;
time_t mt1 = time(NULL);
unsigned int r1 = sleep(1);
time_t mt2 = time(NULL);
unsigned int r2 = sleep(1);
time_t mt3 = time(NULL);
int main()
{
cout<cout<cout<return 0;
}
順序付けされた呼び出しですか?保証できますか?