使用enum就像使用了函数的类型定义,使用它时,只能创建enum类型中的一个
// effectiveC++.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
enum MyEnum
{
lover = 100, wife = 142
};
MyEnum x = lover;
MyEnum get_num(MyEnum* a) {
MyEnum x = *a; //由于一般a是指针,注意对指针取值的做法
return x;
}
int main()
{
cout << "myenum :: wife" << MyEnum::wife << endl;
cout << "myenum :: lover" << MyEnum::lover << endl;
cout << x << endl;
cout << sizeof(x) << ' ' << sizeof(MyEnum::lover) << endl; //enum类型只能是你定义的多个内容中的一个,比如x就只能是lover或者wife
MyEnum res = get_num(&x);
cout << res << endl;
/*
for (int i = 0; i < 10; i++) {
int x = get_num(const_cast<int*> (&a[i]));//尖括号必须是指针,前提,使用的时候参数必须使用括号括起来。
cout << x << " 原来的值为:" << a[i] << endl;
}
*/
return 0;
}