加载中
求模版函数地址

最近用 WTL 写 Ribbon 界面,发现一个坑。 先看 WTL9.1 的代码 static void (CharFormat::*Getk_[])(IPropertyStore*) = { &CharFormat::Getk_Family, &CharFormat::Getk_FontProp...

[C++ 学习笔记 13] Effective C++ 条款 32-40

[C++ 学习笔记 13] Effective C++ 条款 32-40 第六章 继承与面向对象设计 32、确定你的 public 继承塑模出 is-a 关系 “public 继承”意味 is-a。适用于 base classes 身上的每一件事一定也适...

C++ 11 特征之删除默认成员函数

任务:类实例不让复制(noncopyable)。 “不写复制构造函数”是不行的,因为 C++ 会默认给你生成一个。C++ 03 为了实现 noncopyable 需要把复制构造函数和复制函数设为 private: private:...

2017/03/24 18:14
157
[C++ 学习笔记 12] Effective C++ 条款 26-31

第五章 实现 26、尽可能延后变量定义式的出现时间 太早出现,可能因为下面出现异常,导致构造白白浪费。 延后可以增加程序的清晰度、改善效率。 27、尽量少做转型动作 dynamic_casts 有性能代...

[C++ 学习笔记 11] Effective C++ 条款 18-25

第四章 设计与声明 18、让接口容易被正确使用,不易被误用 “促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。一致性的例子:STL 容器都有 size 成员函数。不一致性对开发...

[C++ 学习笔记 10] union 的顺序重要吗?

正常情况下,union 顺序应该是不重要的,但在语言设计缺陷被引发时,好像有点重要了。先看 C99 怎么解决问题的: #include <stdio.h> struct One { int a; }; struct Two { int a...

[C++ 学习笔记 9] Effective C++ 条款 13-17

第三章 资源管理 13、以对象管理资源 获得资源后立刻放进对象(managing object)内。“以对象管理资源”又称“资源取得时机就是初始化时机”(Resource Acquisition Is Initialization; RAI...

[C++ 学习笔记 8] Effective C++ 条款 5-12

第二章 构造/析构/赋值运算 5、了解 C++ 默默编写并调用哪些函数 编译器可以隐式为类创建:默认构造函数、复制构造函数、赋值构造函数、析构函数。 6、若不想使用编译器自动产生的函数,就应...

[C++ 学习笔记 7] Effective C++ 条款 1-4

第一章 让自己习惯 C++ 1、视 C++ 为一个语言联邦 C++ 是个多重范型编程语言:面向过程、面向对象、函数式、泛型、原编程式,所以他的规约很多,记住四个次语言可以帮助了解 C++:C、Object-...

[C++ 学习笔记 6] 为什么有 std::forward?

写模版的人,在遇到麻烦的时候,就会发明 std::forward 来解决他们的某种问题,他们很明白为什么需要这个东西;而初学者,看到它时,就想问,这货干嘛的? 第一次看到 std::forward 时,也是...

[C++ 学习笔记 5] 搞定 asio coroutine 示例

前几天在 Windows 编译了 asio-1.10.8\src\tests\latency\tcp_server.cpp,结果并不能正常工作,客户端连上来,发数据后就卡死了…… 今天,重新思考用 aiso coroutine 来写个 echo server ...

[C++ 学习笔记 4] Duff's Device(switch 和 for 穿插)

看了 asio 的 \src\tests\latency\tcp_server.cpp 代码,被 coroutine 的 reenter 和 yield 的实现给震精到了……switch 和 for 穿插着,这居然也行,还有个学名叫“Duff's Device”!赶快写...

[C++ 学习笔记 3] std::make_shared 和 std::enable_shared_from_this

看 asio 范例 async_tcp_echo_server.cpp 的过程学习到不少东西。 // // async_tcp_echo_server.cpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2016 Christopher M. Kohlhoff...

[C++ 学习笔记 2] 为什么会有移动构造函数、std::move?

UMU 认为是为了:需求细分。考虑以下代码: class Movable { public:   Movable() : i(new int(3))   {     std::cout << __FUNCTION__ << std::endl;   }   Movable(Movable& m) : i(m.i)   {     m...

[C++ 学习笔记 1] delete 和 delete [] 的本质区别

  之前只系统学过 C,自然地了解了一些 C++ 的皮毛(可以认为是 C+),然后就一直用着 C+ 开发,最近看了一些现代 C++ 代码,感觉是时候好好学习 C++ 了……后续会把学习中记的笔记发出来,...

2017/01/04 23:25
553

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部