![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习笔记
Castiellee929
这个作者很懒,什么都没留下…
展开
-
递增(++)和递减(--)运算符前置版本和后置版本的区别【i++,++i的区别】
前置版本(++i):首先将运算对象加1,然后将改变后的对象作为求值结果; 后置版本(i++):也会将运算对象加1,但是求值结果是运算对象改变之前那个值的副本; int i = 0,j; j = ++i; //j = 1,i = 1;前置版本得到递增之后的值; 即 i = i + 1, j = 1; int i = 0,j; j = i++; //j = 0,i = 1;后置版本得到...原创 2019-04-10 16:49:22 · 583 阅读 · 0 评论 -
变量声明和定义的关系
C++中,变量和对象可以互换使用,表示一块能存储数据并有某种类型的内存空间。 为了支持分离式编译(separete compilation)【该机制允许将程序分割为若干个文件,每个文件可以被独立编译】,C++语言将声明和定义区分开。 声明:使名字为程序所知,规定了变量的类型和名字; 定义:负责创建与名字关联的实体,申请存储空间,也可能赋一个初值; 若想声明一个变量而非定义它,在变量名前添加关键之e...原创 2019-04-08 14:29:38 · 367 阅读 · 0 评论 -
C++ 指针和引用
指针和引用的相同点:都实现了对其他对象的简介访问 引用: 引用相当于为对象另外起一个名字,可以通过&d的形式来定义引用类型;需要注意的是引用必须被初始化(why?定义引用时,程序把引用和对象的初值绑定在一起,而不是拷贝值给引用。一旦初始化完成,引用将和它的初值一直绑定在一起,无法令引用重新绑定到另外一个对象上)。 int a = 1000; int &b = a; 1、引用是一个...原创 2019-04-08 16:38:33 · 151 阅读 · 0 评论 -
C++中的关于左值右值的理解
C++中的表达式要不然是右值,要不然就是左值: 当对象被用作右值的时候,用的是对象的值(内容); 当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。 几种需要用到左值的运算符: 1、赋值运算符,得到的结构仍为左值; 2、取地址运算符作用域一个左值运算对象,返回一个指向该运算对象的指针,这个指针是右值; 3、内置解引用运算符,下标运算符,迭代器解引用运算符,string和vector的下标...原创 2019-04-08 22:46:45 · 262 阅读 · 0 评论 -
sizeof
sizeof返回一条表达式或一个类型名字所占的字节数,满足右结合率。 sizeof的运算对象有两种形式: Sales_data data,*p; // sizeof (type) sizeof (Sales_data) // sizeof expr sizeof data; sizeof运算符的结构部分依赖于其作用的类型: 1、对char或者类型为char的表达式执行sizeof运算,结果得1;...原创 2019-04-16 10:35:56 · 244 阅读 · 0 评论 -
类型转换
隐式转化(编译器自动转换运算对象的类型): 何时发生? 1、在大多数表达式中,比int类型小的整型值首先提升为较大的整数类型; 2、在条件中,非布尔值转换成布尔类型; 3、初始化过程中,初始值转换为变量的类型;在赋值语句中,右侧运算对象转换成左侧运算对象的类型; 4、如果算术运算或关系运算对象有多重类型,需要转换成同一类型; 5、函数调用时也会发生类型转换 bool flag; short sva...原创 2019-04-17 17:24:59 · 199 阅读 · 0 评论