【问题标题】:Why are c++ concepts's names in PascalCase? [closed]为什么 c++ 概念的名称在 PascalCase 中? [关闭]
【发布时间】:2017-12-24 11:59:14
【问题描述】:

这让我很奇怪。

为什么 c++ 概念的名称不使用小写字母?

我还应该如何开始将命名切换到 PascalCase?

【问题讨论】:

  • 我倾向于说这纯粹是见仁见智
  • 我遇到的template<class InputIt>/template<typename T>多于template<class input_it>/template<typename t>...所以和那个用法是一致的。
  • 我很确定 concepts 继承了人们通常如何定义 模板参数 的约定。最好问问为什么模板参数是这样的。
  • Bjarne 的书使用Equality_comparable
  • @LưuVĩnhPhúc camelCase

标签: c++ c++-concepts c++20


【解决方案1】:

std 语言内的概念源自标准中描述的命名要求。命名需求可能用 PascalCase 编写,以 (a) 将它们与标准中的实际代码区分开来,并且 (b) 当它们包含一个单词时看起来像一个专有名词,并且 (c) 明确它们是单个事物,并且这些词组成“句子”本身缺乏意义,并且不从它们的组件中获得意义(至少在形式上)(所以 RandomAccessIterator 是一个迭代器,不是因为它的名称中有 Iterator,而是因为它的定义说明了它是一个迭代器)。

简而言之,命名需求以 PascalCase 形式存在,并且在将它们作为概念在代码中实现时,它们保持相同的模式并且通常具有相同的名称。

【讨论】:

  • “源自标准中描述的非代码概念”:这就是我在这里所要求的。你介意告诉我在哪里读到这个吗?
  • 这些的官方术语是“命名需求”。
【解决方案2】:

不要为小事操心,只要在您或您的同事决定使用的任何风格上保持一致即可。

【讨论】:

  • 我想让你知道那不是我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-23
  • 2013-04-29
  • 2014-01-28
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多