
C++
文章平均质量分 75
忧郁的排骨
井底之蛙
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++泛型编程- 类模板
类模板类模板是用来生成类的蓝图的,与模板函数不同之处在于。编译器不能为模板推断模板的参数类型,如我们多次已经看到的,为了使用类模板,我们必须在模板名后的尖括号中提供额外信息,用来代替模板参数的模板实参列表定义类模板作为一个例子,我们将实现一个类 StrBlob的模板版本,我们将此模板命名为Blob。类似函数模板,类模板以关键字template开始,后跟模板参数列表,在类模板的定义中,我们将模板参数当原创 2017-12-29 15:26:58 · 544 阅读 · 0 评论 -
C++泛型编程--函数模板浅析
C++模板模板是C++中泛型编程的基础,一个模板就是一个创建类或蓝图或者说共识,例如我们常用的vector,list,或者是find这样的泛型函数,我们提供足够的信息将蓝图转换为特定的类或函数。本章内容:如何定义模板 定义模板 假设我们希望编写一个函数来比较两个值大小,在实际中 ,我们可能想要定义多个函数,用来比较int,float或者我们的一些自定义类型。我们可能会定义多个重载函数。 int原创 2017-12-29 11:00:58 · 474 阅读 · 0 评论 -
EffictiveC++
浅谈智能指针 所谓智能指针是“行为像指针的对象”,并提供指针没有的技能。STL迭代器几乎总是智能指针:你不会奢望使用“++”将一个内置指针从Linked list的某个节点移到另一个节点,但是在list:iterator身上办得到。 真实指针做的很好的一件事是,支持隐式转换,派生类指针可以隐式转换为基类指针,非const类型转换为const等等,下面是发生于三层继承类型的一些转换。 cl...原创 2017-12-28 22:54:01 · 345 阅读 · 0 评论 -
EffictiveC++
Effictive C++ 条款24 宁以non-member,no-friend,替换member函数 想象有个class用来表示网页浏览器,这样的class可能提供的众多函数中,一些用来清除下载元素的高速缓冲区,历史记录以及cookies class WebBrowser { ... void clearCache(); void clearHis...原创 2017-12-27 23:15:20 · 297 阅读 · 0 评论 -
CMake基础篇---构建可执行文件
CMake基础关键字基础用法cmake_minimum_required (VERSION 2.6)project (CRNode)ADD_SUBDIRECTORY(src bin)#SET(CMAKE_INSTALL_PREFIX ${PROJECT_BINARY_DIR}) SET(CMAKE_INSTALL_PREFIX /usr/local)INSTALL(PROGRAMS crnode.s原创 2017-10-31 15:53:20 · 7466 阅读 · 0 评论 -
通过模板的特化实现 简单的类型萃取 实现memcppy时候对于特殊类型如string类的拷贝。
C++怎样识别一个对象的类型? typeid可以获取到一个类型的名称,但是不能拿来做变量的声明。 【POD类型萃取】 // // POD: plain old data 平凡类型(无关痛痒的类型)--基本类型 // 指在C++ 中与 C兼容的类型,可以按照 C 的方式处理。 //#include #include using namespace std; struct __TrueType {原创 2016-06-03 10:18:27 · 420 阅读 · 0 评论 -
智能指针之shared_ptr
shared_ptr浅谈 简介 管理一个指针的存储,提供一个有限的垃圾收集工具,可能与其他对象共享该管理。 shared_ptr类型的对象具有获取指针的所有权并共享所有权的能力:一旦他们拥有了所有权,当他们的最后一个成员释放所有权时,一个指针的所有者会对它的删除负责。 shared_ptr类型的对象具有获取指针的所有权并共享所有权的能力:一旦他们拥有了所有权,当他们的最后一个成员释放所有原创 2018-01-15 11:17:12 · 10227 阅读 · 1 评论