C++标准ISO-IEC-14882-2003:第9章:类-第3节:成员函数

深入解读ISO/IEC 14882:2011 C++标准完整技术文档 我们不妨做个对比表,看看这些特性带来了哪些质变:维度C++98/03C++11类型声明手动冗长auto自动推导初始化分散、易错统一初始化{}循环遍历依赖迭代器范围 for (内存管理手动new/delete智能指针 + 移动语义并发支持平台相关 API标准+ 同步原语函数式编程困难Lambda 表达式枚举安全性宽泛、污染命名空间enum class强类型空指针。 阅读详情

9.3 成员函数

1           类定义中声明的函数,除了 friend 说明的函数,叫做该类的成员函数。成员函数可以被声明为静态的,叫该类的静态成员函数;否则就是该类的非静态成员函数。

2           成员函数可以在类定义中定义,这种情况叫内联成员函数;也可以在类定义之外定义,在类中只声明没有定义。出现在类定义之外的成员函数定义,应当出现在包含类定义的名字空间域中。除了在类外定义成员函数,也除了类模板的成员函数、成员函数模板的显式特化可以出现在类定义之外,成员函数不能够重复声明。

3           内联的成员函数(无论是否是静态的)也可以在类定义之外定义,只要它们在类定义内部声明为内联、或者在类定义外部声明为内联。【注:在名字空间中的类的成员函数有外部链接性,局部类的成员没有链接性。】

4           程序中,一个非内联函数最多只能有一个定义;如果出现多个定义,也不需要编译器给出诊断信息。程序中允许一个内联函数的定义出现多次。

5           如果成员函数的定义在句法上出现在了类定义的外边,成员函数的名字必须用类名加 :: 操作符限定。【注:成员函数定义中的名字(即在参数声明中包括默认参数、函数体中、构造函数的成员初始化表达式中)以 3.4 中描述的方式查找。】【例:

struct X {

typedef int T;

static T count;

void f(T);

};

void X::f(T t = count) { }

       类 X 的成员函数 f 在全局域中定义的, X::f 说明 f 是类 X 的一个成员。在函数定义中,参数类型 T 指的是类 X 中定义的类型 T ,默认参数 count 指的是类 X 中声明的静态数据成员 count 。】

6           不论成员函数是否是内联的,其中的静态局部变量指的总是同一个对象。

7           定义了类之后,成员函数可以在友元声明中使用。

8           局部类的成员函数如果有定义的话,必须定义在该局部类的定义中。

9           【注:成员函数可以用定义函数类型的 typedef 来声明(但不是定义)。生成的成员函数与显式提供函数声明的形式具有相同的类型。例如:

typedef void fv(void);

typedef void fvc(void) const;

struct S {

fv memfunc1; // 等价于 : void memfunc1(void);

void memfunc2();

fvc memfunc3; // 等价于 : void memfunc3(void) const;

};

fv S::* pmfv1 = &S::memfunc1;

fv S::* pmfv2 = &S::memfunc2;

fvc S::* pmfv3 = &S::memfunc3;

】

 

ISOIEC 14882 2017 c++ 2017标准 ISO/IEC 14882 Programming languages— C++ 2017.12 C++标准2017 立即下载

相关推荐

ISOIEC 14882 2017.pdf

ISO C++标准2017 希望C++越来越易用 只需1个积分,让更多人学习 需1个积分,用于下载学习他人的资源

C/C++的标准演进及对应的编译器

因为区别很小,因此,C89和C90通常指同一种语言,与传统C语言K&R标准对比, ANSI/ISO标准C语言的改进了很多。在1999年,C语言的标准化委员会将不断改进的C语言, 收纳为新的标准,官方名称为 ISO/IEC 9899: 1999,简称为 C99 标准,严格上讲是C语言的第二个官方版本,C99 标准引入了许多特性。在1995年,对C89标准作了一个修订与补充,产生了一个C95标准,官方名称为:ISO/IEC 9899:1990/AMD 1:1995,但并不是一个真正的标准,主要改动如下,

魔筝炼药师 1万+

ISO/IEC 14882 C++标准 1998-2017整理全 文本可复制

ISO/IEC 14882 C++标准 1998-2017 完整英文版 已经重新整理,文本可复制

c++语言iso标准,C++20标准 (ISO/IEC 14882:2020) 正式发布

ISO C++ 委员会正式发布了C++20 标准,命名为 ISO/IEC 14882:2020。C++20 是一次重大的更新,引入了许多新特性:模块 (Modules)协程 (Coroutines)范围 (Ranges)概念与约束 (Constraints and concepts)指定初始化 (designated initializers)操作符<=> != ==constexpr...

weixin_35519827的博客 2565

ISO/IEC 14882 1998-2017 PDF

C++标准文档英文版,包含ISO/IEC 14882 1998/2003/2011/2014/2017,PDF格式。

ISOIEC 14882:2014

ISO/IEC 14882:2014 C++14标准文档

C++20 标准 (ISO/IEC 14882:2020) 正式发布

ISO C++ 委员会正式发布了 C++20 标准,命名为 ISO/IEC 14882:2020。 C++20 是一次重大的更新,引入了许多新特性: 模块 (Modules) 协程 (Coroutines) 范围 (Ranges) 概念与约束 (Constraints and concepts) 指定初始化 (designated initializers) 操作符<=>!= == constexpr支持:new/delete、dynamic_cast、try/cat...

过客2019 4810

2024年上半年网络工程师下午真题及答案解析

位于MPLS域边缘、连接其他网络的LSR称为( 3 ),区域内部的LSR称为核心LSR(CoreLSR)IP报文进入MPLS网络时,MPLS入口设备分析IP报文的内容并为其添加合适的标签,所有MPLS网络中的LSR根据标签转发数据,当该IP报文离开MPLS网络时,标签由出口LER弹出。LSP的出口LER称为( 6 )。某高校网络拓扑如下图所示,两校区核心(CORE-1、CORE-2),出口防火墙(NGFW-1、NGFW-2)通过校区间光缆互联,配置OSPF实现全校路由收敛,两校区相距40km。

bsefef的博客 2475

实战探究!C++ 20 标准都发布了哪些重要特性?

目前gcc 10.2可以支持部分C++20标准,编译的时候需要使用编译选项:-std=c++2a 待我升级编译器之后分章节详解主要特性的概念、示例。 敬请各位关注,干货马上到来 Constraints and concepts (约束和概念) 在类模板和函数模板编程中,主要用于对模板参数的结束和限制,这种约束和限制发生在编译期,编译错误不在那么晦涩难懂了。 在模板编程中,可以限制模板参数的类型或具用某种特性,如:可以限制为整型、数值型、bool型、或必须支持hash特性、或某个类的派生类型等。 在C++2

哦,原来你也在这里。 1万+

拯救者Y9000P 2022双系统实战:Ubuntu22.04分区优化与驱动避坑指南

本文提供联想拯救者Y9000P 2022款安装Ubuntu 22.04双系统的详细实战指南。重点讲解针对该机型的磁盘分区优化方案、NVIDIA显卡驱动安装避坑技巧,以及安装后的网络、时间同步等必备配置,帮助用户高效完成双系统部署并提升使用体验。

weixin_29208327的博客 424

详细Ubuntu 22.04 配置最新UR机械臂仿真环境(ros2-humble, ur-sim, ur-ros2-driver)

使用ubuntu22.04.01和ur-sim, ur-driver进行ur机械臂的仿真

verloge的博客 1万+

C++标准ISO-IEC-14882-2003:第9章:类 -第1节:类名

 9 类1.        类是一种类型。在它的作用域内,该类型的名字称为类名。类名:       标识符       模板idClass-specifiers和elaborated-type-specifiers用来描述类名。类的对象是由一系列(可能为空)的成员和基类对象。clas

declspec的专栏 936

Whisper 模型在嘈杂环境中的表现:降噪与增强技术

本报告系统分析了OpenAI Whisper模型在嘈杂环境中的表现机制,重点揭示其内在降噪能力的技术边界,并结合语音增强(SE)、时频分析等前沿技术提出优化方案。内容覆盖从基础概念(如噪声类型对ASR的影响)到理论框架(模型架构与数学形式化),再到实际应用(端到端部署策略)的全链路分析,同时通过案例研究与可视化工具(如梅尔频谱对比图)降低复杂概念的认知门槛。核心结论指出:Whisper的多语言预训练虽提升了泛化性,但在低信噪比(SNR<5dB)场景下需结合前端降噪或联合训练技术以突破性能瓶颈。

AI 原生应用开发的博客 488

C++标准ISO-IEC-14882-2003:第12章:类的特殊成员函数-第1节:构造函数

12. 特殊成员函数【按:以下简称特殊函数或这些函数;如没有特别说明,对象是指类实例化的对象, 最外层的对象是指最继承子对象】特殊成员函数包括默认构造函数、拷贝构造函数、拷贝赋值操作符和析构函数。除了12.1中的情况,当程序不显式地声明这些函数时,编译器会隐式声明它们;如果使用了它们,编译器还会隐式地定义这些函数,如12.1,12.4和12.8所示。

declspec的专栏 756

【WRFDA教程第一期】运行观测预处理程序(OBSPROC)

运行观测预处理程序(OBSPROC)

WW、forever的博客 1896

LVGL 磁罗盘效果

环境:LVGL 9.x + SDL2,窗口 1280×800。界面文案用英文(默认 Montserrat,无 CJK)。本文按实现顺序讲:先建立两个耦合转动体,再把磁倾角误差从卡面倾斜里推出来,最后用同一套投影把刻度、数字和目标画到卡上。画面上的迟滞、涡流、摆动和读数偏差都来自方程,没有补间动画。

摸鱼专家 88

C++标准ISO-IEC-14882-2003:第14章:模板-第3节:模板实参

 14.3 模板实参 1.      对应模板形参的三种形式,模板实参也有三种形式:类型、非类型和模板。模板 id 中指定的每个模板实参的类型和形式应该与其声明时模板形参列表中相应的形参的类型和形式相匹配。【例:template class Array { T* v; int sz; public:

declspec的专栏 1191

PCL 区域生长分割【2026最新版】

区域生长算法原理介绍、代码实现以及一个具体实验场景的应用案例进一步实现将分割结果的分类保存至本地文件夹。最近一次更新时间为:2026年5月4日。

点云侠的博客 40万+

C++标准ISO-IEC-14882-2003:第9章:类-第2节:类的成员

 9.2 类的成员类描述:成员声明 类描述opt访问描述符 : 类描述opt成员声明:声明描述符序列opt 成员声明器列表opt ;函数定义 ;opt::opt嵌套名字声明

declspec的专栏 762

光学传播仿真软件:SPEOS_(14).建筑物内光环境仿真

在建筑物内光环境仿真中,材料属性的定义直接影响光的传播和反射效果。SPEOS提供了丰富的材料库,但也可以自定义材料属性以满足特定需求。创建新材料选择Materials->。输入材料名称和类型。配置材料属性选择材料对象,打开属性编辑器。设置反射率、透射率、表面粗糙度和颜色。# 导入SPEOS模块# 创建新材料# 配置材料属性custom_material.set_reflectivity(0.8) # 设置反射率为0.8。

kkchenjj的博客 1248

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C++标准ISO-IEC-14882-2003:第14章:模板-第1节:模板的参数

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class

declspec的专栏 952

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C++标准ISO-IEC-14882-2003:第12章:类的特殊成员函数-第7节:构造与析构

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Sty

declspec的专栏 689

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C++标准ISO-IEC-14882-2003:第14章:模板

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class

declspec的专栏 1292

C++标准ISO-IEC-14882-2003:第12章:类的特殊成员函数-第6节:初始化

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class

declspec的专栏 760

C++标准ISO-IEC-14882-2003:第12章:类的特殊成员函数-第2节:临时对象

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Styl

declspec的专栏 566

C++标准ISO-IEC-14882-2003:第12章:类的特殊成员函数-第8节:拷贝对象

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class

declspec的专栏 798
上一篇: C++标准ISO-IEC-14882-2003:第9章:类-第2节:类的成员
下一篇: 原来这个游戏是为了纪念特斯拉
declspec
博客等级 码龄21年 3粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值