【发布时间】:2016-09-01 09:41:41
【问题描述】:
我想知道是否存在可以进行 c++ 声明的“固定顺序”?我正在查看类声明中的声明。
在帕斯卡中,我会按照 using-const-type-function 序列的思路进行思考:
- 使用 objpas; //整数
- const c_limit = 5 ;
- type t_int_array = array [0..c_limit] of integer ;
- 函数 my_func( a_arg0 : t_int_array ) : 整数;
我的类声明与某些用户相反,因为我使用私人保护公共秩序。但是在这些部分中,声明的顺序也可以固定吗?
我想到的事情是:
type declarations (types, enum, class etc)
friend class
friend functions
static member value
static functions
virtual functions
member function
member value
operators
bitfields
constructors
destructors
using clause
(..plus any I may have missed?)
背景是我正在开发一个允许孩子们将项目(例如虚拟功能)拖放到列表(例如虚拟功能列表)中的 GUI - 所以这些列表的顺序很重要对我来说。
目前没有固定的顺序,按照 c++。但是,如果可以证明固定顺序有效,那么它将有助于“引导”用户查看可用的“列表”类型,并以最小/最大查看方式将项目放入其中。
我最不确定的一个领域是声明函数和成员值的顺序,因为我不确定成员是否可以指向类函数......那种事情。我在 pascal 方面比 c++ 更强大,如果对此有任何想法,请不胜感激?
另外,我知道有些用户偏好显示项目的顺序,例如因为他们更喜欢首先查看最公共的项目,但在我的情况下,这不是一个因素,因为 GUI 以这样一种方式最小化了部分,这样我就可以只关注声明的“必需顺序”。
【问题讨论】:
-
必须先声明事物,然后才能引用它们。除此之外,没有固定的顺序。
-
@Barmar 内联成员函数体可以引用尚未声明的成员。
标签: c++ class namespaces declaration