C/C++:[2]enum-枚举量声明、定义和使用转自:http://jingyan.baidu.com/article/e75aca85526c1b142edac6d9.html众所周知,C/C++语言可以使用#define和const创建符号常量,而使用enum工具不仅能够创建符号常量,还能定义新的数据类型,但是必须按照一定的规则进行,下面我们一起看下enum的使用方法。 工具/原料Microsoft Visual Studio 2012(或其他版本)步骤1——枚举量的声明和定义1首先,请看下面的语句:enum enumType {Monda...
由于枚举也是用户定义类型,所以是可以定义运算符, 如:1enum Day {sun, mon, tue, wen, thu, fri, sat}; 23 Day& operator++(Day& d) 4{ 5return d = (sat == d) ? sun : Day(sta + 1); 6 }可以这样来使用:Day today = sun; ++today; // mon 原文:http://www.cnblogs.com/furzoom/p/4620944.html
1:命名空间2:C与C++字符串的区别和基本操作3:枚举类型命名空间#include <string> #include <ctype.h> #include <vector> #include <iostream> #include <fstream>// using declarations states our intent to use these names from the namespace std usingnamespace std; namespace one{string name = "namesapce one的name"; } namespace two{string name = "namesapce two的name"; }string name = "全局的name"; i...
c++ 枚举用到了c++11规范里的多线程,然后编译的时候就报错了,中午各种改CMakeLists没搞定,下午师弟介绍文档,cmake practice,参考第七章,搞定了。只需要CMakeLists.txt里添加一句话:set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++11 -pthread")开始的时候没有-pthread能make,但运行的时候就崩溃了,参考这里解决。根据讨论,桌面Linux环境这样就行了,如果是嵌入式交叉编译环境的话,还需要显示添加find_package (Threa...
?结构是用户定义的类型,而结构的声明定义了这种类型的数据属性。 一.关键字struct声明: 定义了一种新类型 struct inflatable{ char name[20];//结构成员 float volume;//结构成员 double price;//结构成员 } 定义结构之后,便可以创建这种类型的变量。如 inflatable a; inflatable b;inflatable c;由于a的类型为inflatable,因此可以使用成员运算符(.),即a.volume (访...
题目描述有一个正方形,四个角的坐标分别是(1,-1),(1,1),(-1,-1),(-1,1)。写一个程序,判断一个给定的点(x,y)是否在这个正方形内(包括正方形边界),如果在正方形内输出“Yes”,否则输出“No”。 输入一行两个空格隔开的实数x,y,表示点的坐标。输出如果点(x,y)在正方形内输出“Yes”,否则输出“No”。 样例输入0 0样例输出Yes答案如下:↓↓↓↓↓↓↓↓#include <cstdio> usingnamespace std; int main(){d...
求变量的数据类型,通过函数typeid(变量名).name();获得变量的数据类型。案例如下:#include<iostream>#include<stdlib.h> voidmain(){ doubledb = 10.9; double *pdb= &db; autonum = pdb; //通过typeid的方式获得数据类型 std::cout<< typeid(db).name()<< std::endl; std::cout<< typeid(num).name()<< std::endl; std::cout<< typeid(pdb).name()<< std::endl; //typeid(db).name() db2 //decltype...
蓝桥杯 枚举 奇怪的分式标题:奇怪的分式 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的)。 显然,交换分子分...
在Lua Code中注册C/C++的枚举非常容易,就像注册全局变量一样。我们使用枚举名称作为命名空间,来避免注册的枚举发生冲突。注册的枚举存储在全局环境(线程环境)中。当在Lua Code中访问枚举时,通过名称来访问对应的值。sample_9.cpp c++代码如下://在Lua Code中注册的enum,为了避免冲突,以名称作为enumTable来存储 enum Week {Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday, }; //定义宏用来方便使用设置键值 #define...
枚举用来代替静态常量,优点就是可以确定值的范围,而常量则无法确定范围;常量表示法: 1constint TYPE_1 = 0;2constint TYPE_2 = 1;3constint TYPE_3 = 2;4 5constint ONE = 0;6constint TWO = 1;7 8bool func(int type)9{ 10//范围检查11if(type < 0 || type > 2) throw type; 12//执行的代码1314 }枚举表示法: 1enum EType2{3 TYPE_1 = 0,4 TYPE_2 = 1,5 TYPE_3 = 2 6};7 8enum ENum9{ 10 ONE = 0, 11 TW...
在学习muduo_base库中的日志类时,发现了一种新鲜的语法。 1.在类的public中typedef定义的新类型,可以在类外使用类名::新类型名的方式调用。 class Test { public:typedef int integer; ... };如果该语句放在public段中,则可以在类外部使用,如: Test::integer a=1;//声明一个变量2.在类的public中声明了枚举类,那么可以通过类名::enum值直接访问枚举值,不需要通过对象。 测试代码如下(自己写的挺好的例子^^): #include<io...
枚举就是定义一个类别,并且穷举统一类别下的个体以供代码使用。 C++98 枚举存在的缺陷:无论是具名枚举的名字还是枚举类型中的成员,都是全局范围的,其作用域是全局的。 如果在不同的枚举中定义了相同的枚举成员,则会出现重复声明(redeclaration)错误。 enum PUBLIC_COLOR { RED, YELLOW, GREEN }; enum PRIVATE_COLOR { RED, BLACK, PURPLE }; // RED 重定义 enum PUBLIC_COLOR { WHITE, GRAY }; // PUBLIC_COLOR 重定义...
枚举的声明方式: enum 枚举类型名 {枚举常量列表}; 如同结构体一样,枚举变量可以有不同方式声明: 1.先定义后声明 2.同时定义说明 3. 直接说明 设有变量a、b、c 是枚举类型weekday,可采用如下方式 enum weekday {sun,mou,tue,wed,thu,fri,sat}; enum weekday a,b,c; 或者为: enum weekday {sun,mou,tue,wed,thu,fri,sat} a,b,c; 或者为 enum {sun,mou,tue,wed,thu,fri,sat} a,b,c; 枚举是常量,不能在程序中用赋值语句再对它赋...
作者:李春港 出处:https://www.cnblogs.com/lcgbk/p/14101271.html 目录一、前言二、C中的枚举(enum)2.1 C中枚举的大小2.2 C中枚举的取值范围三、C++11中的枚举(enum)3.1 c++11中新增枚举大小的控制3.2 c++11新增有作用域的枚举类型 一、前言 由于C++项目中用了相对比较多的枚举(enum),正常情况下,枚举变量都是占用一个整形类型的大小,但是项目中枚举(enum)只需要使用到一个字节的大小,因为是在嵌入式设备上执行的代码,资源...
// ResourceManager.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include <Windows.h> #include <atlconv.h>#define LANGUAGEID 1033 char deadCode[] = "0xDEADC0DE"; unsigned int error = 0;BOOL EnumNames(HANDLE hModule, LPCTSTR lpType, LPTSTR lpName, LONG lParam) {return TRUE; }BOOL EnumTypesFunc(HANDLE hModule, LPWSTR lpType, LONG lParam) {EnumResourceNames((HINSTANCE)hModule, lpType, (EN...