voidfun1(constchar*p){
p[0]='a';// x
p ="hello";}voidfun2(char*const p){
p[0]='a';
p ="hello";//x}voidfun3(constchar*const p){
p[0]='a';//x
p ="hello";//x}//const只和*的前后位置有关,与类型无任何关系。
class Point
{
public:Point():x(0),y(0){
}~Point(){
}Point(const Point&){
}
Point& operator=(const Point&){
}Point(Point &&){
}
Point& operator=(Point &&){
}
friend ostream & operator<<(ostream &out, Point &p);
private:int x, y;};
ostream & operator<<(ostream &out, Point &p){
out << p.x <<" "<< p.y;return out;}intmain(){
Point p;
std::cout << p << p;}