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

5. 指针数组,数组指针

指针数组:指针的数组,表示一个数组,并且数组的每一个元素都是指针类型。
数组指针:数组的指针,表示一个指针,并且是指向数组的指针。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值