C++ 常用知识总结

1. 类 类的指针 的使用

用法1: 对象名.成员名
CRectangle r1, r2;
r1.w = 5;
r2.Init(3,4);

用法2: 指针->成员名
CRectangle r1, r2;
CRectangle * p1 = & r1;
CRectangle * p2 = & r2;
p1->w = 5;
p2->Init(3,4); //Init作用在p2指向的对象上

用法3: (*指针).成员名
CRectangle r1, r2;
CRectangle * p1 = & r1;
CRectangle * p2 = & r2;
(*p1).w = 5;
(*p2).Init(3,4); //Init作用在p2指向的对象上

用法4: 引用名.成员名
CRectangle r2;
CRectangle & rr = r2;
rr.w = 5;
rr.Init(3,4); //rr的值变了,r2的值也变

参考:Coursera 程序设计与算法 专项课程3 C++程序设计(2.5.1 讲义 从客观事物抽象出类的例子)

2. int *&p和int &*p

按照正常的解读(从右到左)
int*&p 是 指针的引用, 他是一个指针的别名 ,一般可以当成指针使用。有时候,可以直接引用他的值,成为其他指针的引用,这个引用的类型是int*,也就是一个指针变量的引用,但是必须初始化,否则是错误的
int&*p 是 引用的指针,这个是非法的,指针不能指向引用,引用不具有确定的存储,无法间接访问得到表示引用的存储的左值,所以干脆人为规定禁止构造指向引用的指针类型,不能创建引用的指针

3. 函数 返回指针* 返回引用&

返回指针,参考:http://blog.csdn.net/zxccaoya/article/details/53468500

char *GetString(){ 
  char *p;
  p = (char*)malloc(100);
  return p;
  } 

返回引用,参考:http://blog.csdn.net/qq_33266987/article/details/53516977

const string &shorterString(const string &s1,const string &s2){
             return s1.size()<s2.size()?s1:s2;
      }


4. 输入

cin>>x;
//读入整型数时以第一个非数字为终结
//读入字符串时以第一个空格、tab或换行符为终结
cin.getline(str,len,ch);
//读入一个字符串,len是读入字符串的最长长度,ch是终止字符(默认为换行符,可省略)

cin.ignore(len,ch);
//忽略一串字符,ch同上
ch=cin.get();
//读入一个单独的字符
//cin.get()可以从输入流中读取一个字符,该操作并不会像>>操作一样忽略空白字符,所以可以用cin.get()来读取空格。比如
//char c = cin.get();


5. 一些常量

INT_MIN:-2147483648
INT_MAX:2147483647
LONG_MIN:-2147483648
LONG_MAX:2147483647

猜你喜欢

转载自blog.csdn.net/happyygdx/article/details/79274968
今日推荐