<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>我爱代码 - 专业游戏安全与逆向论坛 - C/C++</title>
    <link>http://www.woaidaima.com/forum-46-1.html</link>
    <description>Latest 20 threads of C/C++</description>
    <copyright>Copyright(C) 我爱代码 - 专业游戏安全与逆向论坛</copyright>
    <generator>Discuz! Board by Comsenz Inc.</generator>
    <lastBuildDate>Sat, 15 Aug 2026 19:25:08 +0000</lastBuildDate>
    <ttl>60</ttl>
    <image>
      <url>http://www.woaidaima.com/static/image/common/logo_88_31.gif</url>
      <title>我爱代码 - 专业游戏安全与逆向论坛</title>
      <link>http://www.woaidaima.com/</link>
    </image>
    <item>
      <title>Item12 Declare overriding function override</title>
      <link>http://www.woaidaima.com/thread-3424-1-1.html</link>
      <description><![CDATA[在C++面向对象的世界里面主要是围绕着类、继承和虚函数，而在这个世界里面虚函数的实现就是靠派生类重写基类的虚函数，但是这很容易出错， 这是符合墨菲定律的。因为重写听起来像重载，然而这两个其实是不相关的。

重写需要满足一定的要求:

[*]基类要重写的函数必须是 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Mon, 04 Jun 2018 08:22:58 +0000</pubDate>
    </item>
    <item>
      <title>Item11 Prefer deleted functions to private undefined ones</title>
      <link>http://www.woaidaima.com/thread-3423-1-1.html</link>
      <description><![CDATA[如果你把你的代码提供给其他开发者，但是却不想让其他人调用某些函数，这个时候你只需要不声明这个函数就可以了，但是有的时候你拿到了这个函数声明，但是却又不能让其被调用这就不好办了。典型的比如说赋值成员函数，默认构造成员函数等。这个时候通用的做法是将其设置 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Mon, 04 Jun 2018 08:14:02 +0000</pubDate>
    </item>
    <item>
      <title>Item10 Prefer scoped enums to unscoped enums</title>
      <link>http://www.woaidaima.com/thread-3422-1-1.html</link>
      <description><![CDATA[通常来说我们在花括号中定义的名称其作用域就在花括号中，但是C++98的枚举类型的声明却不遵从这个规则。
事实上，上面这些枚举名称都暴露到外层的作用域中了，官方称这种枚举类型成为unscoped，也就是无作用限制的，在C++11中引入了scoped的枚举类型，枚举的名称不会暴 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Mon, 04 Jun 2018 08:11:48 +0000</pubDate>
    </item>
    <item>
      <title>Item9 Prefer alias declarations to typedefs</title>
      <link>http://www.woaidaima.com/thread-3421-1-1.html</link>
      <description><![CDATA[C++11中引入的std::unique_ptr智能指针是个好用的东西，在我们使用unique_ptr的时候往往会写出这样的类型std::uniqeu_ptr,看上去很臃肿，因此大多数的时候我们会选择使用typedef进行类型的重定义，简化类型名称。可是在C++11中引入了一个using别名的机制，相比较而言引 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Mon, 04 Jun 2018 08:08:45 +0000</pubDate>
    </item>
    <item>
      <title>Item8 Prefer nullptr to 0 and NULL</title>
      <link>http://www.woaidaima.com/thread-3420-1-1.html</link>
      <description><![CDATA[0是int类型，并不是指针类型，但是当0赋值给一个指针类型的时候，0将会被解释成空指针，在C++98中关键字NULL其本质就是一个long int类型的数值0，在实际使用过程中这带来了很多模棱两可的问题。
对于上面三个重载来说，如果调用f(0)，那么会匹配第一个，如果调用f(NULL) ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Mon, 04 Jun 2018 08:06:41 +0000</pubDate>
    </item>
    <item>
      <title>Item7 Distinguish between () and {} when creating objects</title>
      <link>http://www.woaidaima.com/thread-3419-1-1.html</link>
      <description><![CDATA[在引入C++11后变量的初始化方式多种多样，对于每种初始化的方式的区别和联系是一个让我很迷惑地方
c++通常把c = {0}这种初始化方式看成和z{0}一样，那么x(0)和y = 0又有什么区别呢?，对于基本类型来说没有任何区别，对于自定义类型则不一样:
而{}这种初始化方式调用的是 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Mon, 04 Jun 2018 07:25:42 +0000</pubDate>
    </item>
    <item>
      <title>Item6 Use the explicitly typed initializer idiom when auto deduces undesied t...</title>
      <link>http://www.woaidaima.com/thread-3418-1-1.html</link>
      <description><![CDATA[在Item5中提到了使用auto所带来的诸多优点，在Item2中提到了auto的类型推导规则和模板类型推导基本一致，推导出来的类型有的时候并不是我们所想要的类型(会忽略CV限制符和引用)，那么本文继续探究auto的其它缺点。
上面的ret是bool类型吗? 表面看起来是没什么问题的，其 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Mon, 04 Jun 2018 07:12:44 +0000</pubDate>
    </item>
    <item>
      <title>c++ template 视频教程 全10讲</title>
      <link>http://www.woaidaima.com/thread-2014-1-1.html</link>
      <description><![CDATA[c++ template 视频教程 管景伟 全10讲
模板其实就是实现代码重用机制的一种工具,它可以实现类型参数化，即把类型定义为参数，从而实现了真正的代码可重用性。
模板其实就是泛型编程,我们要让编译器成为我们的奴隶,进行严格类型检查.
模板其实就是针对类型编程,玩的是类 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2016</author>
      <pubDate>Fri, 02 Feb 2018 14:06:50 +0000</pubDate>
    </item>
    <item>
      <title>第二章 stringstream的使用</title>
      <link>http://www.woaidaima.com/thread-2006-1-1.html</link>
      <description><![CDATA[]]></description>
      <category>C/C++</category>
      <author>woaidaima2016</author>
      <pubDate>Sun, 21 Jan 2018 11:09:25 +0000</pubDate>
    </item>
    <item>
      <title>第一章 深入浅出IO流</title>
      <link>http://www.woaidaima.com/thread-2005-1-1.html</link>
      <description><![CDATA[]]></description>
      <category>C/C++</category>
      <author>woaidaima2016</author>
      <pubDate>Sun, 21 Jan 2018 11:07:27 +0000</pubDate>
    </item>
    <item>
      <title>Item5 Prefer auto to explicit type declarations【Effective Modern C++中文...</title>
      <link>http://www.woaidaima.com/thread-1786-1-1.html</link>
      <description><![CDATA[写C/C++的程序员都知道定义一个变量如果没有给初值会导致这个变量的值是未定义的，这往往是bug的源泉，在使用容器的迭代器的时候，需要定义一个迭代器变量，这个变量的类型很冗长，例如下面的代码应该经常可以碰到。


到了C++11，算是对上面碰到的问题有了一个比较折中 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Tue, 09 Jan 2018 00:52:16 +0000</pubDate>
    </item>
    <item>
      <title>Item4 Know how to view deduced types【Effective Modern C++中文版】</title>
      <link>http://www.woaidaima.com/thread-1784-1-1.html</link>
      <description><![CDATA[在Item3中学习了C++11新特性decltype，decltype可以获取变量或者表达式的类型，但是获取到的类型只能用于定义其他的变量和类型，不能打印出来，也不能用来操作。毕竟是编译期实现，用来做类型反射就算了，那么至少也应该可以打印输出下吧，毕竟书中得来终觉醒。那么本文 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Tue, 09 Jan 2018 00:48:53 +0000</pubDate>
    </item>
    <item>
      <title>设计模式C++实现（11）——装饰模式</title>
      <link>http://www.woaidaima.com/thread-1713-1-1.html</link>
      <description><![CDATA[软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性：封装、继承、多态，真正领悟设计模式的精髓是可能一个漫长的过程，需要大量实践经验的积累。最近看设计模式的书，对于每个模式，用C++写了个小例子 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Sun, 07 Jan 2018 03:15:48 +0000</pubDate>
    </item>
    <item>
      <title>设计模式C++实现（10）——桥接模式</title>
      <link>http://www.woaidaima.com/thread-1712-1-1.html</link>
      <description><![CDATA[软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性：封装、继承、多态，真正领悟设计模式的精髓是可能一个漫长的过程，需要大量实践经验的积累。最近看设计模式的书，对于每个模式，用C++写了个小例子 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Sun, 07 Jan 2018 03:13:36 +0000</pubDate>
    </item>
    <item>
      <title>设计模式C++实现（9）——享元模式</title>
      <link>http://www.woaidaima.com/thread-1711-1-1.html</link>
      <description><![CDATA[软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性：封装、继承、多态，真正领悟设计模式的精髓是可能一个漫长的过程，需要大量实践经验的积累。最近看设计模式的书，对于每个模式，用C++写了个小例子 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Sun, 07 Jan 2018 03:12:39 +0000</pubDate>
    </item>
    <item>
      <title>设计模式C++实现（8）——代理模式</title>
      <link>http://www.woaidaima.com/thread-1709-1-1.html</link>
      <description><![CDATA[软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性：封装、继承、多态，真正领悟设计模式的精髓是可能一个漫长的过程，需要大量实践经验的积累。最近看设计模式的书，对于每个模式，用C++写了个小例子 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Sun, 07 Jan 2018 03:10:43 +0000</pubDate>
    </item>
    <item>
      <title>设计模式C++实现（7）——外观模式、组合模式</title>
      <link>http://www.woaidaima.com/thread-1708-1-1.html</link>
      <description><![CDATA[软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性：封装、继承、多态，真正领悟设计模式的精髓是可能一个漫长的过程，需要大量实践经验的积累。最近看设计模式的书，对于每个模式，用C++写了个小例子 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Sun, 07 Jan 2018 03:08:59 +0000</pubDate>
    </item>
    <item>
      <title>设计模式C++实现（6）——建造者模式</title>
      <link>http://www.woaidaima.com/thread-1707-1-1.html</link>
      <description><![CDATA[软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性：封装、继承、多态，真正领悟设计模式的精髓是可能一个漫长的过程，需要大量实践经验的积累。最近看设计模式的书，对于每个模式，用C++写了个小例子 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Sun, 07 Jan 2018 03:07:03 +0000</pubDate>
    </item>
    <item>
      <title>设计模式C++实现（5）——原型模式、模板方法模式</title>
      <link>http://www.woaidaima.com/thread-1706-1-1.html</link>
      <description><![CDATA[软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性：封装、继承、多态，真正领悟设计模式的精髓是可能一个漫长的过程，需要大量实践经验的积累。最近看设计模式的书，对于每个模式，用C++写了个小例 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Sun, 07 Jan 2018 03:05:41 +0000</pubDate>
    </item>
    <item>
      <title>设计模式C++实现（4）——单例模式</title>
      <link>http://www.woaidaima.com/thread-1705-1-1.html</link>
      <description><![CDATA[软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性：封装、继承、多态，真正领悟设计模式的精髓是可能一个漫长的过程，需要大量实践经验的积累。最近看设计模式的书，对于每个模式，用C++写了个小例子 ...]]></description>
      <category>C/C++</category>
      <author>woaidaima2017</author>
      <pubDate>Sun, 07 Jan 2018 03:03:49 +0000</pubDate>
    </item>
  </channel>
</rss>