个人理财 表达式和C ++编程中的声明 - 傻瓜

表达式和C ++编程中的声明 - 傻瓜

目录:

视频: 11 对象声明和表达式 2024

视频: 11 对象声明和表达式 2024
Anonim

C ++ for Dummies的一部分Cheat Sheet

要在C ++程序中执行计算,您需要一个表达式。表达式是一个既有值又有类型的语句。在C ++程序中,声明是定义一个变量的语句,或者是一个像数字或字符那样的“持有坦克”。

表达式

表达式采用以下形式之一:

objName //用于简单对象运算符表达式//用于一元运算符expr1运算符expr2 //用于二元运算符expr1? expr2:expr3 //三元运算符funcName([argument list]); //用于函数调用

文字表达式

<! --1 - >

文字是一种常量表达形式。下表中定义了各种类型的文字。

示例 类型
1 int
1L long int
1LL long long int
0
1。 0 float
'1' char
“字符串” char *(自动以空字符结尾)
L“字符串” wchar_t * > u8“这是一个带有UTF-8字符的UTF-8字符串:u2018”
char8_t * u“这是一个UTF-16字符串,带有UTF-16字符:u2018”
char16_t * U“这是一个带有UTF-32字符的UTF-32字符串:
U00002018”

char32_t *

true,false
bool 0b101
二进制标)
声明

声明使用内部和用户定义的类型。内部类型是

[] char [] wchar_t [] [] int float [long] double bool

声明具有以下形式之一:

[] [const] type var [= expression]; // variable [] [const] type array [size] [= {list}]; // array [const] type object [(argument list)]; // object [const] type object [= {argument list}]; //替代[const]类型* [const] ptr [=指针表达式]; //指针类型&refName = object; //引用类型fnName([argument list]); // function

如果C ++可以确定变量的类型,则可以使用关键字auto:

auto var = 1L; // var的类型很长int
关键字decltype提取表达式的类型。这种类型可以在任何使用类型名称的地方使用。例如,以下示例使用decltype声明与现有变量具有相同类型的第二个变量:

decltype(var1)var2; // var2的类型与var1相同

函数定义的格式如下:

//简单函数[]类型fnName(参数列表){…} //在类外部定义的成员函数[inline]类的类:: func(参数列表)[const] {…} //构造函数/析构函数也可以在类的外面定义Class:: Class([argument list]){…} Class::〜Class(){… } //构造函数/析构函数可能被删除或默认//代替定义类::Class([argument list])=; Class::〜Class()=;

一个重载的运算符看起来像一个函数定义。大多数重载操作符可能被写成成员或简单的函数。当作为成员函数写入时,*这是假设的第一个参数给操作符:

<! --1 - >

MyClass&operator +(const MyClass&m1,const MyClass&m2); //简单的MyClass&MyClass::运算符+(const MyClass&m2); // member;
用户也可以使用class或struct关键字定义自己的类型:

ClassName [:[virtual] [public] BaseClass] {:// constructor ClassName([arg list])ClassName()[=;] //析构函数[virtual]〜ClassName()<{…} | [=; > //公共数据成员类型dataMemberName [= initialValue]; //公共成员函数类型memberFunctionName([arg list])[{…}] // const成员函数类型memberFunctionName([arg list])const [{…}] //虚拟成员函数virtual type memberFunctionName([arg list] )[{…}]; //纯虚拟成员函数virtual type memberFunctionName([arg list])= 0; //必须覆盖基类函数类型memberFunctionName([arg list])override的函数; //一个不能在子类型memberFunctionName([arg list])final中被覆盖的函数;};

此外,具有单个参数的构造函数可能被标记为明确的含义,即它不会用于从一种类型到另一种类型的隐式转换。将构造函数标记为默认意味着“使用默认的C ++构造函数定义”。将构造函数标记为delete可删除默认的C ++构造函数定义。

<! - 1 - >

C ++支持两种类型的枚举类型。下面的旧枚举类型不会创建一个新类型:

enum STATE {DC,//获得0 ALABAMA,//获取1个ALASKA,//获取2个ARKANSAS,//获取3 // …等等}; int n =阿拉斯加; // ALASKA的类型为int

默认情况下,单个条目的类型为int,但可以在C ++ 2011标准中更改:

enum ALPHABET:char {A ='a',// gets'a' B,//得到'b'C,//得到'c'// …等等}; char c = A; // A的类型为char

C ++ 2011允许创建新类型的第二种格式:

<! - 下面的枚举定义了一个新类型STATE枚举类STATE {DC,//得到0 ALABAMA,//得到1 ALASKA,//得到2 ARKANSAS,//得到3 // …等等};状态s =状态::阿拉斯加; //现在STATE是一个新类型//下面使用不同的基础类型枚举类ALPHABET:char {A ='a',// gets'a'B,// gets'b'C,// gets'c ' //… 等等}; ALPHABET C = ALPHABET:A; // A的类型是ALPHABET

模板声明的格式略有不同:

表达式和C ++编程中的声明 - 傻瓜

编辑的选择

添加新的SketchUp图层并在图层之间移动实体 - 虚拟图层

添加新的SketchUp图层并在图层之间移动实体 - 虚拟图层

是SketchUp非常有用的一部分,他们可以让你的生活变得更轻松。以下是如何在Sketchup中添加新图层以及如何将实体移动到不同图层的方法。添加新图层按照以下步骤将图层添加到SketchUp文件:选择“窗口”→“图层”。图层...

全部关于地理位置快照和SketchUp - 虚拟

全部关于地理位置快照和SketchUp - 虚拟

当您将地理位置快照导入SketchUp ,您可以访问Google庞大的地理数据存储库;快照不仅仅是漂亮的图片:导入快照地理位置自动定位您的位置。这意味着快照设置您的模型的经纬度,并定位在正确的主要方向。任何阴影研究你...

如何在SketchUp中使用场景动画区域

如何在SketchUp中使用场景动画区域

将区域视图与场景组合在一起以创建动画展示您的SketchUp模型都是一种有用且令人印象深刻的方式。基本的想法是,您可以使用场景来创建动画,其中您的剖面在您的模型中移动。以下是您可能需要使用此技巧的几个原因:如果...

编辑的选择

Drupal友好的网页寄存公司 - 傻瓜

Drupal友好的网页寄存公司 - 傻瓜

网页寄存公司为您提供访问Web服务器,您可以在其中安装Drupal并使您的网站在Web上可见。一些公司为您安装Drupal或为您提供一键安装,为您节省了一些工作量。如果您决定自己跳过Drupal的安装,请考虑通过以下方式之一获取帐户...

Drupal花园功能 - 傻瓜

Drupal花园功能 - 傻瓜

让您有机会查看和使用所有Drupal花园功能,可以创建一个新的站点,然后选择自定义选项而不是其中一个已安装的模板:确保已经登录,然后单击我的站点链接。这样做打开了Drupal花园站点经理。点击创建...

Drupal园林主题生成器 - 傻瓜

Drupal园林主题生成器 - 傻瓜

Drupal花园设置完成后,有一些乐趣和玩你的网站上的主题。使用Drupal Gardens Theme Builder控制网站的外观是与安装Drupal自身副本不同的主要方式。但是你不会错过太多...

编辑的选择

上一次显示一张照片(全屏播放)如何在您的照片上一次显示一张照片(全屏播放)尼康D5300 - 傻瓜

上一次显示一张照片(全屏播放)如何在您的照片上一次显示一张照片(全屏播放)尼康D5300 - 傻瓜

很可能您已经在尼康D5300上播放了播放模式。但是,在数码相机上查看照片有不同的选项。对于正常播放 - 即每次只能查看一张照片 - 请执行以下步骤:

如何自定义尼康D3300的优化校准 - 傻瓜

如何自定义尼康D3300的优化校准 - 傻瓜

当您使用尼康D3300的内置原始处理器,您可以尝试不同的优化校准设置,了解每个设置对图像的影响。当您使用免费的Nikon软件Nikon ViewNX处理图像时,您可以选择相同的选项。该程序的原始转换器,以及在Adobe Photoshop中找到的那些...

如何在HDMI屏幕上显示实时预览预览 - 假人

如何在HDMI屏幕上显示实时预览预览 - 假人

尼康D7100相机连接到HDMI(高清晰度多媒体接口)设备,以在该屏幕上查看实时显示输出。摄影师经常使用此功能,因为摄影师需要比相机显示器提供更大的主题。使用此选项时,会出现一些问题:...