C++primer学习笔记
L_Y__
这个作者很懒,什么都没留下…
展开
-
初学const总结
const是一种标识符,它的值在运行时不变,所以const对象必须初始化,例如:const int i=10; //正确,编译时初始化const int k; //错误,k是一个未初始化的常量对常量的引用引用及其对应的对象都要是常量,且对常量的引用不能用作修改它所绑定的对象,例如:const int i=10;const int &a=i; //正确,引用及其对应的对象原创 2016-07-16 11:01:56 · 353 阅读 · 0 评论 -
指针和指针所指的对象改变的问题
刚在学习指针形参时产生了一些关于指针困惑,后通过编写一些代码,不断验证,终于解决了关于指针和指针所指的对象改变的问题,问题的关键所在是搞清楚到底是指针变了还是指针所指的形参变了,看下面的代码: 下面是运行结果: 这时没有改变所指对象的值,比较好理解。当指针所指的对象改变时: 下面是运行结果:原创 2016-08-15 21:46:10 · 2996 阅读 · 0 评论 -
C++11 auto&decltype
C++11 auto&decltype1、auto C++11新标准引入了auto类型说明符,它让编译器通过初始值来推断变量的类型,因此auto定义的变量必须有初始值:auto a=1; //正确,a的类型为整型auto b; //错误,b没有初始值,无法推断b的类型当使用auto声明多个变量时,该语句中所有变量的初始基本数据类型必须一样:auto a=1,b=2; //正确,a、b都是整原创 2016-08-01 00:29:00 · 340 阅读 · 0 评论 -
C++ string
初始化string对象string s1 //默认初始化,s1是一个空串string s2(s1) //拷贝初始化,等价于s2=s1string s3("value") //直接初始化string s4="value" //拷贝初始化string s4(n,'c') //直接初始化,把s4初始化为n个字符c组成的串读写string对象在执行读取操作时,string原创 2016-08-07 12:33:51 · 241 阅读 · 0 评论 -
数组
数组是一种类似于标准库类型vector的数据结构,它的大小确定不变,不能随意向数组中添加元素。定义和初始化数组数组的声明形如a[b],a是数组的名字,b是数组的维度,表示数组中元素的个数,注意b必须要是常量表达式:int i=10; //不是常量表达式constexpr int sz=10; //是常量表达式int a[10]; //含有10个整数的数组int *p[sz]; //含有原创 2016-08-23 23:49:52 · 367 阅读 · 0 评论 -
vector
标准库类型vector表示对象的集合,其中所以对象的类型都相同。定义和初始化vector对象vector v1 v1是一个空vector,T表示元素类型 vector v2(n,val) v2包含n个值为val的元素 vector v3(n) v3包含n个重复执行了值初始化的对象 vectorv4{a,b,c…}原创 2016-08-21 20:25:09 · 389 阅读 · 0 评论 -
C++中调用函数时的参数传递
C++中调用函数是参数的传递有三种方式,分别是值传递、址传递、引用传递。1、按值传递当按值传递时初始值被拷贝给变量,此时对变量的改动不会影响初始值,也就是说形参的改变不会影响实参:void fact(int p,int q){ int t=p; p=q; q=t; cout<<"p="<<p<<" "<<"q="<<q<<endl;}int main(){原创 2016-09-08 00:02:36 · 1545 阅读 · 1 评论