自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

it_cplusplus

it_cplusplus

  • 博客(83)
  • 收藏
  • 关注

原创 C++:后缀表达式

C++:后缀表达式后缀运算符形式和实际自变量省略号和默认参数后缀表达式包含主表达式或者其中的后缀运算符跟在主表达式之后的表达式。 下表列出了后缀运算符。后缀运算符运算符名称 运算符表示法下标运算符 [ ]函数调用运算符 ( )显式类型转换运算符 类型名称 ( )成员访问运算符 . 或 ->后缀递增运算符 ++后缀递减运算符 –以下语法描述了可能的后缀表达式:primary-expressionpostfix-expression[expression]postfix-expre

2021-07-19 22:40:48 2405

原创 C++:省略号和可变参数模板

C++:省略号和可变参数模板简介语法有关省略号位置的更多信息示例输出备注简介本文介绍如何将省略号 (… 与 c + + 可变参数模板) 。 省略号在 C 和 c + + 中具有许多用途。 其中包括函数的变量参数列表。 printf()C 运行时库中的函数是一个最常见的示例。可变参数模板 是支持任意数量的参数的类或函数模板。 此机制对 c + + 库开发人员特别有用,因为您可以将其应用于类模板和函数模板,从而提供各种类型安全且不重要的功能和灵活性。语法可变参数模板通过两种方式使用省略号。 参数名称的

2021-07-18 22:54:36 805 1

原创 C++:主表达式

C++:主表达式简介简介主表达式是更复杂的表达式的构造块。 它们可能是由范围解析运算符限定的文本、名称和名称 ::。 主表达式可以具有以下任一形式:primary-expression literal this name :: name ( expression )literal 是常量主表达式。 其类型取决于其规范的形式。 有关指定文本的完整信息,请参阅 文本 。this 关键字是指向类对象的指针。 它在非静态成员函数中可用。 它指向为其调用函数的类的实例。 this 关键字不能在类成

2021-07-18 22:50:26 1207

原创 C++:一元加号和非运算符:+ 和 -

C++:一元加号和非运算符:+ 和 -语法+ 运算符- 运算符语法+ cast-expression- cast-expression+ 运算符一元加运算符 () 的结果 + 是操作数的值。 一元加运算符的操作数必须是一个算术类型。整型提升是对整型操作数执行的。 结果类型是操作数将提升到的类型。 因此,expression +ch ,其中 ch 的类型为 char ,结果为类型 int ; 值不被修改。- 运算符一元求反运算符 (-) 生成其操作数的负值。 一元求反运算符的操作数必须是算术

2021-07-18 22:47:11 585

原创 C++:下标运算符 []

C++:下标运算符 []语法备注正下标和负下标语法postfix-expression [ expression ]备注后缀表达式 (,它也可以是主表达式) 后跟下标运算符 [])指定数组索引。通常, 后缀表达式 表示的值是一个指针值(如数组标识符),而 expression 是一个整数值 (包括) 枚举类型。 但是,从语法上来说,只需要一个表达式是指针类型,另一个表达式是整型。 因此整数值可以位于 后缀表达式 位置,指针值可以在 表达式 或下标位置的括号中。 考虑以下代码片断:int nAr

2021-07-18 22:42:51 1436

原创 C++:sizeof 运算符

C++:sizeof 运算符简介语法备注示例示例输出简介根据类型的大小生成操作数的大小 char 。语法sizeof unary-expressionsizeof ( type-name )备注运算符的结果 sizeof 为类型,它是 size_t 在包含文件中定义的整型类型 <stddef.h> 。 利用此运算符,你可以避免在程序中指定依赖于计算机的数据大小。的操作数 sizeof 可以是下列其中一项:类型名称。 若要将 sizeof 与类型名称一起使用,必须将名称括在括

2021-07-18 22:42:41 152

原创 C++:作用域解析运算符 ::

C++:作用域解析运算符 ::简介语法备注用于 :: 类和命名空间用于 :: 静态成员用于 :: 作用域枚举简介范围解析运算符 :: 用于标识和消除在不同范围内使用的标识符。语法qualified-id:  nested-name-specifier template opt unqualified-idnested-name-specifier: :: type-name :: namespace-name :: decltype-specifier :: nested-name-

2021-07-18 22:42:30 1085

原创 C++:关系运算符: < 、 > 、 < = 和 >=

C++:关系运算符: < 、 > 、 < = 和 >=语法备注示例比较指针语法expression < expressionexpression > expressionexpression <= expressionexpression >= expression备注二进制关系运算符确定下列关系:小于 (<)大于 (>)小于或等于 (<=)大于或等于 (>=)关系运算符具有从左到右的关联性。 关系运算符的两个

2021-07-18 22:42:18 3120

原创 C++:前缀增量和减量运算符:++ 和 --

C++:前缀增量和减量运算符:++ 和 --语法备注语法++ unary-expression-- unary-expression备注前缀递增运算符 (++) 将其操作数添加到操作数; 这一递增的值是表达式的结果。 操作数必须是不属于类型的左值 const 。 结果是与操作数相同类型的左值。前缀减量运算符 (–) 类似于前缀递增运算符,只不过操作数递减1,结果为此递减值。Visual Studio 2017 版本15.3 及更高版本 (随 /std 提供: c + + 17) :递增或递减

2021-07-18 22:42:05 326

原创 C++:后缀增量和减量运算符:++ 和 --

C++:后缀增量和减量运算符:++ 和 --语法备注语法postfix-expression ++postfix-expression --备注C++ 提供了前缀和后缀递增和递减运算符;本节仅介绍后缀递增和递减运算符。两者之间的差异在于,在后缀表示法中,运算符出现在 后缀表达式 之后,而在前缀表示法中,运算符出现在 expression 之前。 以下示例显示了一个后缀递增运算符:i++;() 应用后缀递增运算符的效果 ++ 是操作数的值增加一个适当类型的单位。 同样,将后缀减量运算符应用于

2021-07-18 22:41:53 345

原创 C++:指向成员的指针运算符:. * 和->*

C++:指向成员的指针运算符:. * 和->*语法备注示例语法expression .* expressionexpression ->* expression备注指向成员的指针运算符(. * 和->* )返回表达式左侧指定的对象的特定类成员的值。 右侧必须指定该类的成员。 下面的示例演示如何使用这些运算符:// expre_Expressions_with_Pointer_Member_Operators.cpp// compile with: /EHsc#includ

2021-07-17 00:36:45 1219

原创 C++:二进制求补运算符:~

C++:二进制求补运算符:~语法备注~ 的运算符关键字示例语法~ cast-expression备注1的补数运算符( ~ ),有时称为按位求补运算符,产生其操作数的按位二进制反码。 即,操作数中为 1 的每个位在结果中为 0。 相反,操作数中为 0 的每个位在结果中为 1。 二进制反码运算符的操作数必须为整型。~ 的运算符关键字C + + compl 将指定为的替换拼写 ~ 。 在 C 中,可选拼写作为宏在标头中提供 <iso646.h> 。 在 c + + 中,替换拼写是关键字;

2021-07-17 00:34:57 1114

原创 C++:new 运算符

C++:new 运算符简介语法备注示例:分配并释放字符数组示例: new 运算符初始化使用 new 运算符分配的对象使用 new 运算符分配的对象的生存期new 的工作方式简介从免费存储为 类型 为的对象或对象数组分配内存,并将适当类型的非零指针返回到该对象。备注Microsoft c + + 组件扩展提供对 new 关键字的支持,以添加 vtable 槽条目。语法[::] new [placement] new-type-name [new-initializer][::] new [pla

2021-07-17 00:33:20 2612

原创 C++:乘法运算符和取模运算符

C++:乘法运算符和取模运算符语法备注示例语法expression * expressionexpression / expressionexpression % expression备注乘法运算符为:乘法 (*)划分 (/)取模) (余数 (%)这些二进制运算符具有从左至右的关联性。乘法运算符采用算术类型的操作数。 取模运算符 (%) 具有更严格的要求,因为其操作数必须是整型。 (获取浮点除法的余数,请使用运行时函数 fmod。 ) 标准转换 中涵盖的转换适用于操作数,并且结果为转

2021-07-17 00:28:39 4229

原创 C++:成员访问运算符:. 与->

C++:成员访问运算符:. 与->语法备注示例语法postfix-expression . namepostfix-expression -> name备注成员访问运算符 。 和 -> 用于引用结构、联合和类的成员。 成员访问表达式具有选定成员的值和类型。有两种形式的成员访问表达式:在第一种形式中, 后缀表达式 表示结构、类或联合类型的值, 名称 命名为指定的结构、联合或类的成员。 运算的值是 名称 为的值,如果 后缀表达式 是左值,则它是左值。在第二种形式中, 后缀表达

2021-07-17 00:26:28 324

原创 C++:逻辑 OR 运算符: ||

C++:逻辑 OR 运算符: ||语法备注|| 的运算符关键字示例语法逻辑或表达式 **||**逻辑与表达式备注|| true 如果有一个或两个操作数为,则逻辑 OR 运算符()返回布尔值 true , false 否则返回。 操作数在计算前隐式转换为类型 bool ,结果为类型 bool 。 逻辑“或”具有从左向右的关联性。逻辑 OR 运算符的操作数不必具有相同的类型,但它们必须为布尔值、整型值或指针类型。 操作数通常为关系或相等表达式。第一个操作数将完全计算,并且在继续计算逻辑“或”表达式之

2021-07-17 00:25:02 12917

原创 C++:逻辑非运算符:!

C++:逻辑非运算符:!语法备注运算符关键字适用于!示例语法! cast 表达式备注逻辑求反运算符( ! )反转操作数的含义。 操作数必须是算法或指针类型(或计算结果为算法或指针类型的表达式)。 操作数将隐式转换为类型 bool 。 如果转换后的操作数为,则结果为 true false ; false 如果转换的操作数为,则结果为 true 。 结果的类型为 bool 。对于表达式 e ,一元表达式 !e 等效于表达式 (e == 0) (涉及重载运算符的情况除外)。运算符关键字适用于!

2021-07-17 00:23:28 2975

原创 C++:逻辑 AND 运算符:&&

C++:逻辑 AND 运算符:&&简介语法备注示例简介语法表达式 **&&**表达式备注&& true 如果两个操作数都为,则逻辑 “与” 运算符()返回 true , false 否则返回。 操作数在计算前隐式转换为类型 bool ,结果为类型 bool 。 逻辑“与”具有从左到右的关联性。逻辑 AND 运算符的操作数不需要具有相同的类型,但它们必须具有 boolean、整型或指针类型。 操作数通常为关系或相等表达式。完全计算第一个操作数,并在

2021-07-17 00:21:03 5849

原创 C++:左移和右移运算符 (> > 和 < <)

C++:左移和右移运算符 > > 和 < <简介语法备注左移右移移位和提升其他详细信息脚注简介按位移位运算符是右移位运算符 (>>) ,它将 shift 表达式 的位移动到右侧,左移运算符 (<<) ,这将向左移动 移位表达式 的位数。语法移位表达式 <<加法表达式shift-expression >> additive-expression备注重要以下说明和示例在 Windows 上适用于 x86 和 x64 体系结构

2021-07-17 00:17:02 4976

原创 C++:间接寻址运算符:*

C++:间接寻址运算符:*语法备注语法* cast-expression备注一元间接寻址运算符 (*) 取消引用指针; 即,它将指针值转换为左值。 间接寻址运算符的操作数必须是指向类型的指针。 间接寻址表达式的结果是从中派生指针类型的类型。 如果 * 在此上下文中使用运算符,则其含义与二元运算符不同,后者是乘法。如果操作数指向函数,则结果是函数指示符。 如果它指向存储位置,则结果是指定存储位置的左值。可以累计使用间接寻址运算符来取消引用指向指针的指针。 例如:// expre_Indirec

2021-07-17 00:13:43 717

原创 C++:函数调用运算符:()

C++:函数调用运算符:()简介语法备注示例函数调用结果简介函数调用是一种 postfix-expression 由表达式构成的,该表达式的计算结果为函数或可调用的对象,后跟函数调用运算符 () 。 对象可以声明一个 operator () 函数,该函数为对象提供函数调用语义。语法postfix-expression: postfix-expression ( argument-expression-list opt )备注函数调用运算符的参数来自以 argument-expression-

2021-07-06 00:28:54 529

原创 C++:显式类型转换运算符:()

C++:显式类型转换运算符:() 简介语法备注示例输出简介C++ 允许使用与函数调用语法类似的语法进行显式类型转换。语法simple-type-name ( expression-list )备注一个 简单类型的名称 ,后跟括在括号中的 表达式列表 使用指定的表达式构造指定类型的对象。 以下示例显示到类型 int 的显式类型转换:int i = int( d );下面的示例演示了一个 Point 类。示例// expre_Explicit_Type_Conversion_Operat

2021-07-06 00:24:27 117 1

原创 C++:相等运算符:== 和 !=

C++:相等运算符:== 和 !=语法备注! = 的运算符关键字示例语法表达式 **==**表达式表达式 **!=**表达式备注二元相等运算符将严格比较其操作数的相等性或不相等性。等于( == )和不等于()的相等运算符的 != 优先级低于关系运算符,但其行为方式类似。 这些运算符的结果类型是 bool 。== true 如果两个操作数具有相同的值,则返回等于运算符(); 否则返回 false 。 != 如果操作数的值不相同,则不等于运算符()返回 true ; 否则返回 false 。!

2021-07-06 00:20:23 7539

原创 C++:delete 运算符

C++:delete 运算符简介语法备注使用 deletedelete 的工作方式简介释放内存块。语法[ :: ] delete 强制转换表达式[ :: ] delete [] 强制转换表达式备注强制转换表达式 参数必须是指向以前为使用 new 运算符创建的对象分配的内存块的指针。 delete 运算符的结果为类型 void ,因此不返回值。 例如:CDialog* MyDialog = new CDialog;// use MyDialogdelete MyDialog;对 de

2021-07-06 00:15:32 8976 3

原创 C++:条件运算符: ? :

C++:条件运算符: ? :语法备注示例语法expression ? expression : expression备注条件运算符 (?:) 是三元运算符, (它采用三个操作数) 。 条件运算符按以下方式运行:第一个操作数将隐式转换为 bool 。 计算该操作数,并在继续前完成所有副作用。如果第一个操作数的计算结果为 true (1) ,则计算第二个操作数。如果第一个操作数的计算结果为 false (0) ,则计算第三个操作数。条件运算符的结果是操作数(无论是第二个还是第三个)的计算结果。

2021-07-06 00:13:42 1838

原创 C++:逗号运算符:,

C++:逗号运算符:,简介语法备注示例简介允许对两个语句进行分组,其中有一个是预期的。语法expression , expression备注逗号运算符具有从左向右的关联性。 由逗号分隔的两个表达式将从左向右进行计算。 始终计算左操作数,并且在计算右操作数之前将完成所有副作用。在某些上下文(如函数自变量列表)中,逗号可用作分隔符。 不要将该逗号用作分隔符与将其用作运算符的情况混淆;这两种用法完全不同。请考虑表达式 e1, e2。 表达式的类型和值是 e2 的类型和值;计算 e1 的结果被丢弃

2021-07-06 00:12:26 168

原创 C++:强制转换运算符:()

C++:强制转换运算符:()简介语法备注示例简介在特定情况下,类型强制转换提供了用于显式转换对象类型的方法。语法复制unary-expression ( type-name ) cast-expression备注任何一元表达式均会被视为强制转换表达式。在进行类型强制转换后,编译器将 cast-expression 视为类型 type-name 。 强制转换可用于在任意标量类型的对象与任何其他标量类型之间进行来回转换。 显式类型强制转换由确定隐式转换效果的相同规则约束。 有关强制转换的其他约束

2021-07-06 00:11:03 112

原创 C++:按位与或运算符: |

C++:按位与或运算符: |语法备注| 的运算符关键字示例语法expression1 | expression2备注按位 “或” 运算符( | )将其第一个操作数的每个位与其第二操作数的相应位进行比较。 如果其中一个位是 1,则将对应的结果位设置为 1。 否则,将对应的结果位设置为 0。运算符的两个操作数必须具有整数类型。 标准转换中涵盖的常用算术转换将应用于操作数。| 的运算符关键字C + + bitor 将指定为的替换拼写 | 。 在 C 中,可选拼写作为宏在标头中提供 <iso64

2021-07-06 00:09:11 3211

原创 C++:按位异或运算符:^

C++:按位异或运算符:^语法备注示例语法表达式 **^**表达式备注按位 “异或” 运算符 (^) 将其第一个操作数的每个位与其第二操作数的相应位进行比较。 如果其中一个操作数的位是0,另一个操作数中的位为1,则相应的结果位将设置为1。 否则,将对应的结果位设置为 0。运算符的两个操作数必须具有整数类型。 标准转换中涵盖的常用算术转换将应用于操作数。^ 运算符关键字C + + xor 将指定为的替换拼写 ^ 。 在 C 中,可选拼写作为宏在标头中提供 <iso646.h> 。 在

2021-07-06 00:07:30 2843

原创 C++:位与运算符:&

C++:位与运算符:&语法备注& 的运算符关键字示例语法表达式 **&**表达式备注按位 “与” 运算符( & )将第一个操作数的每个位与第二操作数的相应位进行比较。 如果两个位均为 1,则对应的结果位将设置为 1。 否则,将对应的结果位设置为 0。按位 “与” 运算符的两个操作数都必须是整数类型。 标准转换中涵盖的常用算术转换将应用于操作数。& 的运算符关键字C + + bitand 将指定为的替换拼写 & 。 在 C 中,可选拼写作为宏在标头

2021-07-05 23:56:13 577

原创 C++:赋值运算符

C++:赋值运算符语法备注赋值运算符表运算符关键字示例简单赋值复合赋值赋值运算符的结果语法表达式赋值运算符表达式assignment-operator: one of = *= /= %= += -= <<= >>= &= ^= |=备注赋值运算符将值存储在由左操作数指定的对象中。 有两种类型的赋值运算:简单赋值,其中第二个操作数的值存储在第一个操作数指定的对象中。复合赋值:在存储结果之前执行算术、移位或位运算。下表中的所有赋值运算符 = 都是复合赋值运算符

2021-07-05 23:53:58 2943 2

原创 C++:地址操作符: &

C++:地址操作符: &语法注解示例:静态成员的地址示例:引用类型的地址示例:作为参数的函数地址语法& cast-expression注解运算符的一元地址 (&) 采用其操作数的地址。 Address 运算符的操作数可以是函数指示符或指定不是位域的对象的左值。Address 运算符只能应用于在文件范围级别声明的基本、结构、类或联合类型的变量,或者应用于下标数组引用。 在这些表达式中,可在地址表达式中添加或减去不包含 address 运算符的常量表达式。当应用于函数或左值时

2021-07-05 23:50:16 1457 4

原创 C++:加法运算符:+ 和 -

C++:加法运算符:+ 和 -语法备注用于相加运算符的类型示例指针加法指针减法语法expression + expressionexpression - expression备注相加运算符为:加法 (+)减法 (-)这些二进制运算符具有从左至右的关联性。相加运算符采用算术或指针类型的操作数。 加法 () 运算符的结果 + 是操作数之和。 减法 () 运算符的结果 - 是操作数之差。 如果一个操作数是指针或两个操作数都是指针,则它们必须是指向对象的指针,而不是指向函数的指针。 如果两个操作

2021-07-05 23:47:17 986 3

原创 C++:__uuidof 运算符

C++:__uuidof 运算符简介语法备注示例注释简介C++:__uuidof 运算符语法__uuidof (表达式)备注表达式 可以是类型名称、指针、引用或该类型的数组、专用于这些类型的模板或这些类型的变量。 只要编译器可使用参数查找附加的 GUID,此参数就有效。当将 0 或 NULL 作为参数提供时,此内部函数的特例就是这种情况。 在这种情况下, __uuidof 将返回由零组成的 GUID。使用此关键字可将附加的 GUID 提取到:按 uuid 扩展特性的对象。使用特性创建的库

2021-07-05 23:44:07 366

原创 C++:alignof 运算符

C++:alignof 运算符简介语法备注Microsoft 专用简介alignof 运算符将指定类型的对齐方式返回为类型的值 size_t 。语法alignof( type )备注例如:alignof 值与 sizeof 用于基本类型的值相同。 但是,请考虑该示例:typedef struct { int a; double b; } S;// alignof(S) == 8在这种情况下, alignof 值是结构中的最大元素的对齐要求。同样,typedef __declsp

2021-07-05 23:41:58 3025

原创 C + + 中的特性

C + + 中的特性简介C + + 标准特性特定于 Microsoft 的属性简介C + + 标准定义一组公共属性。 它还允许编译器供应商在特定于供应商的命名空间中定义自己的属性。 但编译器只需要识别在标准中定义的属性。在某些情况下,标准属性与编译器特定的 __declspec 参数重叠。 在 Microsoft c + + 中,可以使用 [[deprecated]] 属性,而不是使用 __declspec(deprecated) 。 [[deprecated]]任何符合的编译器都将识别属性。 对于所

2021-07-05 23:38:22 200

原创 C++:decltype

C++:decltype简介语法parameters返回值备注Decltype 和转发函数 (C++11)示例要求简介decltype 类型说明符将生成指定表达式的类型。 decltype 类型说明符与 auto 关键字一起主要用于编写模板库的开发人员。 使用 auto 和 decltype 来声明其返回类型依赖于其模板参数类型的模板函数。 或者,使用 auto 和 decltype 来声明一个模板函数,该函数包装对其他函数的调用,然后返回包装函数的返回类型。语法decltype(表达式)para

2021-07-05 23:35:44 224

原创 C++:volatile

C++:volatile简介语法备注符合 ISO符合 ISO 的末尾简介可用于声明可在程序中由硬件修改的对象的类型限定符。语法volatile declarator ;备注可以使用 /volatile 编译器开关来修改编译器解释此关键字的方式。Visual Studio 会根据 volatile 目标体系结构以不同的方式解释关键字。 对于 ARM,如果未指定 /volatile 编译器选项,编译器将执行,就像指定了 /volatile: iso 一样。 对于 ARM 之外的体系结构,如果未指

2021-07-05 23:31:53 150

原创 C++:using 声明

C++:using 声明简介语法parameters备注示例: using 类字段中的声明示例:声明 using 成员的声明示例: using 具有显式限定的声明示例: using 声明同义词和别名示例:局部声明和 using 声明示例:局部函数声明和 using 声明示例: using 声明和继承示例: using 声明可访问性简介using 声明将名称引入声明性区域,其中显示了 using 声明。语法using [typename] nested-name-specifier unqualifi

2021-07-05 23:29:56 722 2

原创 C++:别名和 typedef

C++:别名和 typedef简介语法备注示例Typedef示例typedef 的重新声明c + + 与 C 中的 typedef简介可以使用 别名声明 来声明一个名称,用作之前声明的类型的同义词。 (这种机制也称为 " 别名) 类型 。 你还可以使用此机制来创建 别名模板,该模板对于自定义分配器特别有用。语法using identifier = type;备注identifier别名的名称。type您为其创建别名的类型标识符。别名未引入新类型,且无法更改现有类型名称的含义。别名的最

2021-06-25 20:59:25 440 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除