函数定义必须有函数体, 函数原型声明没有函数体 这点是函数和变量的不同之处。 而变量 声明,定义有时候形式相同,难以直接区别。 函数声明和定义 唯一 难以区别的是inline 函数。 inline 函数 虽然是定义,但是性质等同于声明(可以多处定义,可以放在头文件里)。 另外: 模板函数,由于是代码生成器性质的代码,所以 虽然是定义,也类似于声明,可以放在头文件里。 我想, <<C++ primer>> 对于函数定义和声明应该能够清晰的表达出来。 至于 C++ primer plus 没看过,听说有些地方,表达的不太完善
没有听说过,个人感觉静态各种整型常量,在类内初始化以后,效果等同于 enum 常量 这种情况下, 类外初始化(定义)纯属多余,并且容易导致不一致(两处初始化), 还是一处为妙。 友元函数,作为类的接口, 在类内定义就好 除非由于各种原因,不适合在类内定义 类外定义友元函数,不仅仅是一种语法冗余, 而且定义时候,有各种不便之处需要处理。 感觉并非良策。
64,682
社区成员
250,490
社区内容
加载中
试试用AI创作助手写篇文章吧