第2课 - C 到 C++ 的升级

it2024-03-31  53

 

 

 register 关键字请求编译器将局部变量储存于寄存器中

1、C++中还坚持使用register关键字

2、C++编译器有自己的优化方式

      C语言中无法获得register 变量的地址

      C++中可以获得register 变量的地址

 

int f() 和 int f(void)有区别吗?

1) 在标准C语言中

int f() 表示形参可以有任意多个int f(void) 表示不接收任何形参

2) 在C++中

两者没有区别,都表示不接收任何形参

 

 

#include <stdio.h> int g_v; //int g_v; int main(int argc, char *argv[]) { printf("Begin...\n"); int c = 0; for(int i=1; i<=3; i++) { for(int j=1; j<=3; j++) { c += i * j; } } printf("c = %d\n", c); register int a = 0; printf("&a = %p\n", &a); printf("End...\n"); return 0; }

 

#include <stdio.h> struct Student { const char* name; int age; }; f(i) { printf("i = %d\n", i); } g() { return 5; } int main(int argc, char *argv[]) { Student s1 = {"Delphi", 30}; Student s2 = {"Tang", 30}; f(10); printf("g() = %d\n", g(1,2,3,4,5)); return 0; }

 

最新回复(0)