术语"方法"是由C++标准定义的吗?

Bar*_*rry 19 c++ terminology language-lawyer

术语"方法"通常用于讨论C++代码.独立术语在C++中是否具有明确定义的含义,或者它是否含糊不清?单独使用该术语是否可以接受,或者它是否合格(例如"类方法"或"虚拟方法"),还是应该完全避免使用?

Chr*_*phe 15

术语方法未在C++标准中定义.术语使用成员函数代替.

然而Bjarne的Stroustrup的定义术语方法在自己的词汇虚成员函数.因此,这表明该术语是可接受的证据.

  • Bjarne做了很多事情,每个人是否"可接受"都有争议. (5认同)

Col*_*mbo 8

我会完全避免使用这个术语,因为很明显你的意思是"成员函数",而不是"方法" - 你问这个问题就足够了.

但是,C++ 14标准中"方法"一词的规范性出现是

  • 在内容列表中:

    17.5 描述方法(资料性附录)

    在该部分的标题中重复这一点.

  • [basic.compound]:

    这些构造类型的方法可以递归地应用;

  • [cpp.include]

    a <>预处理令牌对或一对"字符之间的一系列预处理标记组合成单个标题名称预处理标记的方法是实现定义的.

  • [library.general]

    以下子条款描述了定义(17.3),描述方法(17.5),[...]

  • 在表32中,FLT_EVAL_METHOD提到了.

  • 在阶段2 num_getdo_get:

    对于算术类型,punct.thousands_sep()字符将插入到序列中,由punct.do_grouping()使用22.4.3.1.2中描述的方法返回的值确定

  • [forwardlist.modifiers]:

    否则,sz - distance(begin(), end())在列表末尾插入元素,以便每个新元素e由等效于调用的方法初始化allocator_traits<allocator_type>::construct(get_allocator(), std::addressof(e), c).

  • [filebuf.virtuals]:

    根据描述的行为 basic_streambuf<charT,traits>::uflow(),通过专业化,从输入读取一系列字符,使用相同的方法underflow.

该术语显然从未提及"成员职能".

  • @cybermonkey:这不是一个"答案",小家伙.而这个与这个短语没有任何相似之处.你确定你评论了正确的答案吗? (4认同)