COM组件开发实践(六)---From C++ to COM :Part 3
在上一篇文章《COM组件开发实践(五)---From C++ to COM :Part 2 》中,我们进展到使用COM库加载C++对象了,这一篇中我们将真正将C++对象变成 COM对象,而在下一篇中我们将为它添加多接口支持。 C++对象变成COM对象 要将一个C++对象变成一个真正的COM对象,只需要如下操作: 1)实现接口的引用计数。因此每个COM对象都需要有两个函数用于管理引用计数...
C++ 工程实践(10):再探std::string
本文总结了std::string的三种常见实现方式。 本文转自 陈硕 博客园博客,原文链接:http://www.cnblogs.com/Solstice/archive/2012/03/17/2403335.html,如需转载请自行联系原作者

C++ Primer 学习笔记_33_STL实践与分析(7) --容器适配器
STL实践与分析 --容器适配器 引: 除了顺序容器。标准库还提供了三种顺序容器适配器:queue,priority_queue和stack。适配器是标准库中的概念。包含容器适配器,迭代器适配器和函数适配器。 适配器通用的操作和类型 size_type 一种类型,足以存储此适配器类型的最大对象长度 value_type 0 container_type ...
C++ 工程实践(9):数据抽象
陈硕 (giantchen_AT_gmail)http://blog.csdn.net/Solstice http://weibo.com/giantchen 陈硕关于 C++ 工程实践的系列文章: http://blog.csdn.net/Solstice/category/802325.aspx 排版正常的版本: http://www.cnblogs....

OpenCV实践之路——人脸检测(C++/Python) 【转】
转自:http://blog.csdn.net/xingchenbingbuyu/article/details/51105159 版权声明:本文为博主原创文章,转载请联系作者取得授权。 本文由@星沉阁冰不语出品,转载请注明作者和出处。 文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/51105159...
C++ 工程实践(5):避免使用虚函数作为库的接口
陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 摘要:作为 C++ 动态库的作者,应当避免使用虚函数作为库的接口。这么做会给保持二进制兼容性带来很大麻烦,不得不增加很多不必要的 interfaces,最终重蹈 COM 的覆辙。 本文主要讨论 Linux x86 平台,会继续举 Windows/COM 作为反面教材。 本文是上一篇《C++ 工程实践(4....
C++ 工程实践(12):C++ 编译链接模型精要
《C++ 工程实践》新增第15节“C++ 编译链接模型精要” PDF 下载: https://github.com/downloads/chenshuo/documents/CppPractice.pdf 本文转自 陈硕 博客园博客,原文链接:http://www.cnblogs.com/Solstice/arch...

C++ 工程实践(3):采用有利于版本管理的代码格式
陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 版本管理(version controlling)是每个程序员的基本技能,C++ 程序员也不例外。版本管理的基本功能之一是追踪代码变化,让你能清楚地知道代码是如何一步步变成现在的这个样子,以及每次 check-in 都具体改动了哪些内部。无论是传统的集中式版本管理工具,如 Subversion,还是新型....

C++ 工程实践(4):二进制兼容性
陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 本文主要讨论 Linux x86/x86-64 平台,偶尔会举 Windows 作为反面教材。 C/C++ 的二进制兼容性 (binary compatibility) 有多重含义,本文主要在“头文件和库文件分别升级,可执行文件是否受影响”这个意义下讨论,我称之为 library (主要是 shared....
C++ 工程实践(1):慎用匿名 namespace
匿名 namespace (anonymous namespace 或称 unnamed namespace) 是 C++ 的一项非常有用的功能,其主要目的是让该 namespace 中的成员(变量或函数)具有独一无二的全局名称,避免名字碰撞 (name collisions)。一般在编写 .cpp 文件时,如果需要写一些小的 helper 函数,我们常常会放到匿名 namespace 里。mu....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
C++更多实践相关
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
+关注