注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

蒙奇D小豌豆的博客

蒙奇D小豌豆的学习记录

 
 
 

日志

 
 

C++学习一之基础  

2013-01-31 21:04:16|  分类: language |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1 const变量: const int var = 1;//必须初始化const变量的 表示可读,默认为局部变量非extern

2 reference引用:对象的另一个名字(主要用于函数形参),定义的时候必须初始化;引用必须用该引用同类型对象(不能常量),或类似的来对其初始化,引用只是别名。

int val = 10;
double dd = 2.0;
const int val_two = 3;
string  test;
int &val_ref = val;  //ok
int &val_rf = 10;  //error 非同类型
int &val_rf;  //error  没有初始
int &val_rf = dd  //error  非同类型
int &val_rf = val_two;  //error  非同类型  const
int &val_rf = test;  //error 完全不同类型的

3 const引用
int val = 10;
double dd = 2.0;
const int val_two;
string  test;
const int &val_ref = val;  //ok  当非const传给const引用时 引用不能改值,但是原始数据可以改,那么引用也跟着改
const int &val_rf = 10;  //ok 类似的
const int &val_rf;  //error  没有初始
const int &val_rf = dd  //ok  类似的
const int &val_rf = test;  //error 完全不同类型的
const int &val_rf = val_two;  //ok  同类型 


4 指针与const
const int* one;指向const int类型的指针,指针指向的对象只读
int const* one;指向const int类型的指针,指针指向的对象只读
int* const one;指向int类型的const指针,指针指只读
int const* const one;指向const int类型的const指针,指针指向的对象只读,指针只读.

typedef  string *pstring
const  pstring  pst; 等同于 string * const pst;



5 动态数组分配
int *pg;
int n;
pg = new int[n];//数组new分配不能初始化,所以不支持默认构造函数的不能动态分配数组。或者pg = new int[n]();
delete [] pg;

int *p = new int;//为0
int *p = new int(123);//为123
int *p = new int();  //为0
delete p;
const  *p_const = new const int(24);//为24  对象指针都为const


6 相同类的结构作成员函数的形参,在函数中可以访问该形参的private成员,其他类的不可以
class A
{
public:
A(int val):a(val){}
A(A& x):a(x.a)
{

}
void copy_a(A& m)
{
a = m.a;
}
int get_a() const
{
return a;
}
private:
int a;
};  

7 重载:参数类型或者个数不同的同名函数。
const type 与 type参数不构成重载
void func(int a);
void func(const int a); //redefine func

const 引用(指针) type 与 引用(指针) type参数构成重载
void func(int& a);
void func(const int& a); //构成重载


8 默认参数
Sale_item(int pri = 2):price(pri),sold_num(0),ave_price(0.0){}
能与 Sale_item one(2),two; match

Sale_item(int pri):price(pri),sold_num(0),ave_price(0.0){}
只能与 Sale_item one(2); match

Sale_item(int pri=2, int num = 0):price(pri),sold_num(num),ave_price(0.0){}
函数有默认参数 那么默认参数都应该在右边

  评论这张
 
阅读(138)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018