码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 命名闲谈

时间:2015-04-19 21:09:54      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

  C++中的陷阱果然很多,不久前又犯了一次错。我在某个头文件中定义了_UTILITY_,接着包含了它和vector头文件,结果就在之后的vector声明中就出错(显示不允许使用不完整的类型)了。这就让我很郁闷了:我明明包含了vector头文件,而且也使用using指示。在一些简单的分析和尝试之后,问题很容易就解决了。这是一个命名冲突的问题,我们之前定义的_UTILITY_和vector头文件冲突了。下面附上简单的问题代码:

  utility.h

1 #ifndef _UTILITY_
2 #define _UTILITY_
3 
4 #endif

  utility.cpp

 1 #include"utility.h"
 2 #include<iostream>
 3 #include<vector>
 4 
 5 using std::vector;
 6 using std::cout;
 7 using std::endl;
 8 
 9 int main()
10 {
11 
12     vector<int> ivec = { 1, 2, 3 };
13     //这会提示不允许使用不完整的类型
14     for (auto i : ivec)
15         cout << i << endl;
16 
17 
18     system("pause");
19     return 1;
20 
21 }

  命名是一个问题,我感觉我现在的命名规范就是win32方式+其他方式,比如:类名首字母大写,函数、方法名单词首字母大写,类成员前加下划线,还有一些通用的。微软的匈牙利命名法有些地方现在看来有些繁琐,iNum一般人都会直接命名为num。这样的可读性一样,而编译器也会提示类型为int。然后用拼音命名感觉太不专业了, 所以还是多背单词吧!

C++ 命名闲谈

标签:

原文地址:http://www.cnblogs.com/lightzl/p/4439812.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!