1.C++主要是:运行效率和开发效率的统一;
2.实用性的体现:(变量可以随时定义,不同于c必须在作用域开始的位置定义)
int c = 0;
for(int i=1; i<=3; i++)
{
for(int j=1; j<=3; j++)
{
c += i * j;
}
3.register(c++中只是为了延续c,因为后续的c++的编译器可以自动优化。所以并不需要它)
4.struct关键字的加强(struct只是个例子,还有很多)
c语言中 struct定义了一组变量的集合,并不是新的类型,而c++直接就是新的类型了。
思考:面试中的小问题
int f() 与int f(void)有区别吗?如果有区别是什么?与编译器有关。
实战看一下区别:(使用vs2015)
1
#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;
}
运行结果:
小结:c++随意定义变量,register没啥用,c++不接受重定义(c可以)
2.
#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;
}
结果:
小结:1.C++中,首先必须指定类型(不存在默认类型)。int f()和int f(void)在c++中都是代表没有参数;
2.结构体的加强.
稍加改动验证小结1
不传入参数