
c++
C/C++语言知识
BruceZong
啊啊
展开
-
【C++基础】知识点
C++没有明确规定每种数据类型的字节数,只规定了它们之间的关系,比如short原创 2022-06-19 23:53:12 · 344 阅读 · 1 评论 -
【C++新特性】范围for语句
C++11新标准引入了一种更简单的for语句,这种语句可以遍历容器或其它序列的所有元素。语法形式:for (declaration : expression)statementexpression必须是一个序列,比如初始值列表、数组、vector或string等...原创 2022-04-18 00:11:06 · 1365 阅读 · 0 评论 -
【C++新特性】花括号与initializer_list
C++11新标准允许使用花括号括来初始化变量或者进行赋值,默认为列表初始化/赋值的方式。int i { 2 };int j = { 3 };vector<int> vi { i, j };vector<int> vj = { 2, 3, 5};1)花括号内的内容可以为0个。如果是一个内置类型对象,那么初始值列表最多只能包含一个值,而且该值即使转换其所占空间也不应该大于目标类型的空间int i {}; // 初始值默认为0int j { 2, 3}; //原创 2022-04-17 23:42:39 · 2089 阅读 · 0 评论 -
【C++基础】变量的声明、定义、初始化与赋值
变量声明规定了变量的类型和名字,使得变量名称在声明的文件中可用。变量定义除了声明变量的类型和名字,还会申请存储空间,并将变量名称与存储相关联变量初始化及是在变量定义(被创建)的时候,以指定的值去创建变量。对于自定义变量会调用其构造函数。变量赋值,即将新值赋予变量。对于自定义变量调用其拷贝构造函数(或者=操作符重载)extern int i; // 声明一个外部的变量int j; // 声名变量jj = 2; // 变量赋值extern int k = 1; // 定义一个变量k,原创 2022-04-16 23:46:37 · 1168 阅读 · 0 评论 -
【C++新特性】 - 类内初始值
如果定义变量时没有指定初值,则变量被默认初始化,此时变量被赋予了“默认值”。默认值到底是什么由变量类型和变量所在位置决定。如果是内置类型(int, short等)的变量为被显示初始化,它的值由定义的位置决定。定义与任何函数体之外的变量被初始化为0,定义在函数体内部的内置变量将不被初始化,其值时未定义的。C++11新标准规定可以为数据成员提供一个类内初始值(in-class initializer)。创建对象时,类内初始值将用于初始化数据成员,没有初始值的成员将被默认初始化。1、类内初始值和赋值类原创 2022-04-10 23:08:19 · 4245 阅读 · 0 评论 -
【C++新特性】 - decltype类型指示符
除了auto类型说明符以外,C++11引入了第二种类型说明符decltype,它的作用是选择并返回操作数的数据类型。decltype可以作用于变量、表达式和函数。一)作用于变量当decltype作用于变量时,将保留变量的所有特性(包括顶层const和引用)参考:(1条消息) 【C++深陷】之“decltype”_Jinxk8的博客-优快云博客_decltype...原创 2022-04-05 22:35:04 · 695 阅读 · 0 评论 -
【C++新特性】 - auto类型说明符
C++11新标准引入了auto类型说明符,用于简化将表达式赋值给变量时操作,让编译器替我们去分析表达式的类型。auto val = val1 + val2;此处编译器将根据val1和val2相加的结果来推断val的类型。如果val1和val2都是int,那么val也将是整型。使用auto类型说明符可以简化我们的代码,比如:map<int, int> m;map<int,int>::const_iterator iter = m.cbegin(); 等价于 a...原创 2022-04-05 11:58:44 · 1023 阅读 · 0 评论 -
【C++新特性】 - lambda表达式
lambda表达式是C++11引入的新特性之一。一个lambda表达式具有如下形式[捕获列表](参数列表) -> 返回类型 { 函数体 }原创 2022-04-10 22:29:51 · 806 阅读 · 0 评论