1.using声明只作用于名字空间中的单一项,在进行using声明时使用namespace关键字是错误的:
namespace gar{
void f(){
}
int x;
}
using namespace gar::f();
正确的语法为:
amespace gar{
void f(){
}
int x;
}
using gar::f();2.在操作符<<之后只能输出一个数据。例如,输出变量x的值之后再输出变量y的值得正确的方法是:
cout<<x<<y;
而不是
cout<<x y;
3.如果使用操作符>>将字符串读入string类型变量,输入的所有空格都将忽略,而不是整行的输入都读入string变量了。例如,运行代码:
string s;
cout<<"Enter a string: ";
cin>>s;
如果我们输入Ed Wood
则s的最终的结果是Ed。要读入一整行,可以使用getline
4.C++中当对象是以值得方式传入函数,在函数中是不会改变的,当以引用的方式传入,会改变
5.如果一个对象通过引用方式传到函数f中,而函数f又不会通过修改对象的数据成员的值改变该对象的状态,那么,最好将f的参数标记为const,可以预防对参数的误写,同时有些编译器还可以对这种情况进行一些优化。
例:
void setName(const string& s){
name = n;
}