请教一个简单的C与C++的命名规则问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教一个简单的C与C++的命名规则问题相关的知识,希望对你有一定的参考价值。

之前用JAVA 命名 变量和方法都是 小写字母起始,如果有多个词组合,那么第二个词开始每个词头字母大写,比如
int iLoveThisGame()
int goodBoy = 0;

可是我看C里大多规范用法是
int i_love_this_game()
int good_boy = 0;
请教C++到底用那种规范?搜了一下各种结果都有

谢谢

C++ 命名规范

1.变量命名

变量名一律小写,单词用下划线分隔。

结构体成员和普通变量命名方式一致。

类成员变量以"m_"开头。

全局变量以"g_"开头。

2. 常量命名

常量以"k"开头,后面每个单词首字母大写,不包含下划线。

3. 函数命名

普通函数每个单词首字母大写,不包含下划线。

存取控制函数和对应的变量名保持一致:取控制函数采用"get_"后接变量名,存控制函数采用"set_"后接变量名。存取控制函数采用小写字母表示,中间用下划线分隔。

内联函数也可以用小写字母表示,中间用下划线分隔。

4. 枚举命名

枚举类型名采用首字母大写,不包含下划线的方式命名。

枚举值采用首字母大写,单词间用下划线分隔来命名。

5. 宏命名

宏命名的方式和枚举值的方式一直。首字母大写,单词间用下划线分隔。

希望对你有帮助!!!
参考技术A C/C++没有这种要求。只要:字母开头,数字、字母、下划线三者组成即可。如,atMcx_6xt、y_CCllpAQ_88t等。且大小写是敏感的,即ab、Ab、aB、AB是不同的标识符。 参考技术B 【规则3-1-3】命名规则尽量与所采用的操作系统或开发工具的风格保持一致。例如Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。而Unix应用程序的标识符通常采用“小写加下划线”的方式,如add_child。别把这两类风格混在一起用本回答被提问者采纳 参考技术C 都可以,依个人习惯为准,但要注意在同一个程序里最好使用同样的命名规则 参考技术D 自定义,没有标准规范。

请教简单的C++多文件连接问题(请针对问题对答,谢谢!)

//文件1是头文件
int Fabricate(int,int);
int Multi(int,int);

//文件2放一个函数Fabricate
int Fabricate(int m,int n)

return Multi(m,m-n+1)/Multi(n,1);


//文件3放一个函数Multi
int Multi(int m,int n)

int i,s=1;
for(i=m;i>=n;i--)
s*=i;
return s;


//文件4放main
#include<iostream.h>
#include"myheadfile.h"
using namespace std;
void main()

int m,n;
cout<<"请输入m";
cin>>m;cout<<endl;
cout<<"请输入n";
cin>>n;
cout<<endl<<"组合数为:"<<Fabricate(m,n);


我将四个文件的内容放在一个文件里编译成功,可是分成多个文件放在一个工程里连接时出现错误:

d:\program files\vc98\myprojects\123\fabricate.cpp(3):error C2065: 'Multi' : undeclared identifier

错误指向return Multi(m,m-n+1)/Multi(n,1); 这一行

请问是怎么回事?
谢谢!
------------------------------------------------------
在文件2中加了#include"myheadfile.h" 后反而出现两个错误:

Linking...

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

Debug/123.exe : fatal error LNK1120: 1 unresolved externals

Error executing link.exe.

是怎么回事呢,真搞不懂

文件2和文件3需要包含文件1。其实头文件的作用就是声明。从理论上讲,文件3不需要包含文件1,但包含进来是一个习惯写法。
至于选了win32 Application的话,在Project -> Setting -> C++ -> Project Option中找到"_WINDOWS",删掉,或者改成"_CONSOLE"。
参考技术A 你需要在文件2中也加入一行
#include"myheadfile.h"
参考技术B \fabricate.cpp里面没有包含头文件,把头文件加进去 #include"myheadfile.h" 还要声明

别跟我说你选了win32 Application? 不然怎么会有winmain做入口?
参考技术C 哇‘‘看不懂也 ‘但还是要冒个泡

以上是关于请教一个简单的C与C++的命名规则问题的主要内容,如果未能解决你的问题,请参考以下文章

c# c++通信--命名管道通信

C++变量命名规则

c++面向对象程序设计心得

C++从0到17.C++中标识符的命名

请教PHP里使用命名管道连接本机mysql如何写连接串? - 技术问答

喵呜:C++基础系列来啦来啦:namespace命名空间详解