前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++基础变量

C++基础变量

作者头像
羊羽shine
发布2019-05-28 13:24:42
3650
发布2019-05-28 13:24:42
举报
文章被收录于专栏:Golang开发

变量

变量的基本形式是:首先是类型说明符,随后紧跟有一个或者多个的变量名组成的列表,其中含有多个变量名时用逗号隔开,最后以分号结束。

代码语言:javascript
复制
int sum = 0;
string first_name,last_name;

变量命名规范: (1)变量名称一般用小写字母 (2)自定义的类名一般首字母大写 (3)如果变量名由多个单词组成,则单词之间最好有明显区分

引用

引用是为对象起了另外一个名字,所有引用并不是对象,它只是一个已经存在的对象所起的另外一个名字,通过声明为&的形式定义引用类型。

代码语言:javascript
复制
    Student student("baxiang",26);
    Student &refStudent = student;
    student.show();
    refStudent.show();

声明为引用的变量必须初始化,但是初始化的值必须是一个对象。

代码语言:javascript
复制
 string &rName = "test1";// 错误

一般在初始化的时候,初始化值会被拷贝到新建的对象中,引用对象和被引用对象的的初始化在一起,而不是拷贝一个新的初始化给引用,也就是引用是和被引用对象共用一块内存地址。

代码语言:javascript
复制
    string name = "test";
    string &rName = name;
    string &othName = rName;

指针

与引用类似,指针也同样实现了对其他对象的一个间接访问,定义指针的方式是在变量前面在上星号*;

代码语言:javascript
复制
int *value,*result;
float *height;

指针存放的是对象的地址信息,要想获取对象的地址需要使用取地址符&

代码语言:javascript
复制
string test = "test";
string *testPoint = &test;

如果指针指向了一个对象,需要通过解引用符号(*)来访问当前指向的对象

代码语言:javascript
复制
 cout << *testPoint<<endl;

const限定符

我们有时候希望我们定义的变量的值不能被修改,为了满足这个需求,我们可以使用关键字const对变量类型进行限制

代码语言:javascript
复制
    const int buffSize = 1024;
    buffSize = 512;//错误, 无法修改 

在程序编译的时候遇到const变量会对用到该变量的地方都替换成对应的值,也就是编译器会找到用到buffSize的地方然后用1024替换掉。 默认情况下,const变量被设定为仅在文件内有效,当多个文件中出现同名的const变量的时候,其实会在不同文件中分别定义独立的const变量。如果需要实现文件共享,这种情况我们不希望编译器为每个文件都生成独立的变量,即在一个文件中声明其他文件都可以使用。解决的办法就是在const变量不管在声明还是在定义都需要加上关键字extern.

代码语言:javascript
复制
extern const int buffSize = 1024 // 在file_1.cpp 初始化一个常量
extern const int buffSize // 在file_1.h 只能够定义常量

static静态成员

静态数据成员在定义或说明时前面加关键字static。 静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:

代码语言:javascript
复制
     <数据类型><类名>::<静态数据成员名>=<值>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.12.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 变量
  • 引用
  • 指针
  • const限定符
  • static静态成员
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档