2022年9月7日
摘要: 文中一系列思考和内容引发自以下问题:我需要在一个类的构造函数中调用另一个对象的构造函数,并使用this初始化其中的一个引用成员。 主要遇到的问题: 1. 构造函数的初始化列表中能访问this吗? 很明显c++创建一个对象分为两部分,创建内存和调用构造函数。显然在初始化列表中,当前对象占用的内存已经创 阅读全文
posted @ 2022-09-07 21:49 莫水千流 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 一个类 A 可以将另一个类 B 声明为自己的友元,类 B 的所有成员函数就都可以访问类 A 对象的私有成员。在类定义中声明友元类的写法如下: friend class 类名; 友元类B类的所有成员函数,都能访问A类对象的私有成员; 类 A 将类 B 声明为友元类,则类 B 最好从逻辑上和类 A 有比 阅读全文
posted @ 2022-09-07 16:10 莫水千流 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 1.在C++中,我们使用类对数据进行了隐藏和封装,类的数据成员一般都定义为私有成员,成员函数一般都定义为公有的,以此提供类与外界的通讯接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统 阅读全文
posted @ 2022-09-07 16:05 莫水千流 阅读(804) 评论(0) 推荐(0) 编辑
摘要: How can I use a std::function in a function which expects a C-style callback? If this is not possible, what is the next best thing? Example: // some C 阅读全文
posted @ 2022-09-07 15:20 莫水千流 阅读(62) 评论(0) 推荐(0) 编辑
摘要: explicit关键字C++中的explicit关键字只能用于修饰只有一个参数或者是其他参数有默认值的类构造函数, 它的作用是表明该构造函数是显式的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).explicit关键 阅读全文
posted @ 2022-09-07 10:27 莫水千流 阅读(107) 评论(0) 推荐(0) 编辑