①当使用<iostream>时,该文件没用定义全局命名空间,必须使用using namespace std;若不引入,可以用std::调用;
②C++为了和C区别,也为了正确的使用命名空间,规定头文件不使用.h,所以#include<iostream.h>和#include<iostream> using namespace std;是不一样的;
③<>,是引入系统库,""是引入自己编写的类库;
④C++命名空间定义:namespace SpaceName{};命名空间可以嵌套使用,例如
namespace namespaceA
{
int a=10;
namespace namespaceB
{
int a = 20;
}
}
namespace namespaceC
{
int a =30
}
由于所处命名空间不同,可以定义相同名字的变量,赋不同值而不出现二义性;
引用:using namespace namespaceA;
using namespace namespaceB;
using namespace namespaceC;
cout<<namespaceA::a<<endl<<namespaceB::a<<endl<<namespaceC::a<<endl;
⑤寄存器变量register int a = 0;
C中不能在寄存器变量上直接取地址,但是C++中可以
printf("%d",&a);
⑥c中允许二次定义,例如int a = 10;int a;但是C++中出现二义性,是错误的;
⑦C语言中表达式结果放寄存器中(不是内存),C语言语言中表达式的返回值为变量的值,C++中返回的是变量本身;
⑧C++是面向对象的语言,编程应该体现这点,比如求圆的面积,要抽象出类的模型,定义属性;