Tag: 命名约定

Objective C / C中的命名约定,以“_”开头?

我看到ppl的东西定义了这样的变量: b2World *_world; b2Body *_body; CCSprite *_ball; 代替 b2World *world; b2Body *body; CCSprite *ball; 我熟悉第二个,但不是第一个。 所以,我检查了维基百科有关命名约定的内容: 以双下划线或下划线和大写字母开头的名称保留用于实现(编译器,标准库),不应使用(例如__reserved或_Reserved)。 那么,是否有以“_”开头的任何特殊含义? 我看到使用“_”开始的代码在这里: http://www.raywenderlich.com/457/intro-to-box2d-with-cocos2d-tutorial-bouncing-balls 维基页面。

C类型命名约定,_t或ALLCAPS

我一直想知道是否有任何命名对象,如何使用ALLCAPS作为类型以及何时追加_t (何时不使用任何东西?)。 我知道K&R早些时候发布了有关如何使用C的各种文档,但我找不到任何关于此的内容。 在C标准库类型中, _t似乎占据主导地位 time_t clock_t uint32_t size_t sig_atomic_t … ,而不是FILE , va_list或struct tm 。 实际上有规则还是完全随意的? Microsoft总是在他们的Windows API中使用ALLCAPS中的类型名称,至少看起来比C库更加一致,坦率地说……

C / C ++ stdlib命名约定的名称?

我想知道C / C ++标准库中使用的命名约定是否有一个名称,或者至少是一个可以查找规则的备忘单。 例如 push_back — underscore used setstate — but not used here! string::npos — when to use abbreviations? fprintf … C / C ++标准库中使用的命名约定是否具有特定名称?

C库命名约定

介绍 大家好,我最近学会用C编程! (这对我来说是一个巨大的进步,因为C ++是第一种语言,我接触并吓唬了我近10年。)来自大多数OO背景(Java + C#),这是一个非常好的范式转换。 我爱C.这是一种如此美丽的语言。 令我感到惊讶的是,高级的模块化和代码可重用性C支持 – 当然它不像OO语言那么高,但仍远远超出我对命令式语言的期望。 题 如何防止客户端代码与C库代码之间的命名冲突? 在Java中有包,在C#中有命名空间。 想象一下,我写了一个C库,它提供了“添加”操作。 客户端很可能已经使用了类似的操作 – 我该怎么办? 我特别想找一个客户友好的解决方案。 例如,我不想为我的所有api操作添加前缀,例如“myuniquelibname_add”。 C世界的常见解决方案是什么? 你把所有api操作放在一个结构中,所以客户端可以选择自己的前缀吗? 我非常期待通过你的答案得到的见解! 编辑(修改后的问题) 亲爱的Answerers,谢谢你的答案! 我现在看到,前缀是安全避免命名冲突的唯一方法。 所以,我想修改我的问题: 我有什么可能性,让客户选择他自己的前缀? Unwind发布的答案是单向的。 它不使用正常意义上的前缀,但必须为每个api调用添加前缀“api->”。 还有哪些解决方案(比如使用#define)? 编辑2(状态更新) 这一切归结为两种方法之一: 使用结构 使用#define(注意:有很多方法,如何使用#define来实现,我想要的是什么) 我不接受任何答案,因为我认为没有正确的答案。 选择的解决方案取决于具体情况和自己的偏好。 我,我自己会尝试你提到的所有方法,找出最适合我的情况。 随意在相应答案的评论中发布支持或反对某些appraoches的论据。 最后,我要特别感谢: 放松 – 因为他的复杂答案包括“结构方法”的完整实现 克里斯托弗 – 他的好答案,并指向C中的命名空间 所有其他 – 为您的出色投入 如果有人发现关闭这个问题是合适的(因为没有进一步的见解),他/她应该随意这样做 – 我无法决定这一点,因为我不是C大师。

临时局部变量的命名约定

在本地函数中命名临时变量的标准方法是什么? 让我举一个例子说明我在做什么。 我得到一个指向结构的指针,所以我希望在本地存储其中一个成员以避免被引用,然后任何修改都会返回指针。 更具体一点: struct Foo { double m_d; }; void function (Foo* f) { double tmp=f->m_d; /***Other stuff***/ f->m_d=tmp; } 我不喜欢tmp 。 如果我在一个函数中有很多它们,它们只会增加混乱。 谢谢

function还是方法?

如果我在C中编写抽象数据类型,是否编写了对这些数据类型执行操作并在接口(.h文件)中公开的函数,这些函数称为函数 , 方法或完全不同的东西? 我似乎无法在任何地方找到建设性的答案。 方法是C ++特定的术语吗?

C中的非ASCII字符

我正在查看谷歌go的运行时源代码(在https://go.googlecode.com/hg/src/pkg/runtime/ ),似乎他们使用特殊字符作为其function名称,·。 (例如, 请访问https://go.googlecode.com/hg/src/pkg/runtime/cgocall.c )。 这是否被主要编译器接受? 它不是ANSI C,是吗? 或者它只是一些宏观魔法? 谢谢!

什么是’标识符’是C ++中的’名字’?

何时在C ++中称为“名称”的“标识符”? 我主要读到“名称”一词过于使用而不是“标识符”,例如: struct S { int i }; S thing1; 在这种情况下, thing1是名称还是标识符 ? 或者术语“标识符”和“名称”是类似的吗? 在C中,在引用对象时是否使用术语“名称”?

库中的“lib”前缀

来自http://www.adp-gmbh.ch/cpp/gcc/create_lib.html : 注意:库必须以三个字母lib开头并具有后缀.a 。 这是一个操作系统约定,还是gcc / ar quirk? Xcode似乎能够创建没有前缀的库。 它有什么不同的做法?

后缀“_t”在C中代表什么?

可能重复: 类型后跟_t(下划线-t)代表什么? 在我的IDE(Xcode)中键入内容时,自动完成function会在我通过输入某个变量名称时突然显示已定义的单词。 我偶尔会看到名字末尾有’ _t ‘的名字。 命名约定是什么,它是什么意思? 是否有参考文档来查找常用的修复前和修复后? 使用术语“postfix”进行搜索会给我很多关于同名邮件服务器的GoogleNoise。