C/C++
HouszChina
这个作者很懒,什么都没留下…
展开
-
浅析C++函数指针和函数对象
C/C++代码中常见函数指针的使用,C++中经常碰到函数对象这种用法,在此简单总结。1.函数指针函数指针(function pointer)就是指向某函数的指针变量,即指向所谓的函数入口地址。函数指针的基本作用就是调用函数,另一重要作用是作函数的参数。函数指针的声明:返回值类型 ( * 指针变量名) ([形参列表]);注意 ( * 指针变量名) 的括号不可省略,它能告诉原创 2017-11-17 20:23:48 · 1147 阅读 · 0 评论 -
C++ const限定符总结
0.const简介有时我们希望定义一个值不能被改变的量,以防有意无意地对其进行改动。例如我们可以定义一个缓冲区的大小bufferSizeconst int bufferSize = 1024;这样bufferSize就被定义为一个常量,任何向其赋值的行为都是非法的。和非const对象能参与的操作相比,const类型的对象能完成其中绝大部分。唯一的区别就在于const类型对象原创 2017-11-21 20:32:18 · 383 阅读 · 0 评论 -
C++ increment/decrement/dereference 操作符典型写法
C++自增(increment)、自减(decrement)运算符(operator++,operator--)和取值(dereference ,或称解引用)运算符(operator*)的典型写法,其中自增自减运算符分为前置式(prefix)和后置式(postfix)两种。以简单实现INT自增/自减/取值为例:#include using namespace std;class IN原创 2017-12-23 22:23:37 · 2480 阅读 · 0 评论 -
traits编程技法1——型别推导、偏特化与traits
我们在使用迭代器时经常会使用到其相应型别(associated type),例如某个场景需要声明一个变量,他的型别为“迭代器所指对象的型别”,即value type。但是C++并没有获取类型的机制,即使是typeid()也只能获得型别名称而不能用它来声明变量。例如我们要写一个泛型swap函数,它接受一对迭代器itera和iterb,我们要做的是将两个迭代器指向的值进行交换。可能大多数人第一反应原创 2017-12-26 17:01:06 · 517 阅读 · 0 评论 -
STL源码剖析笔记1.1 简单的空间配置器allocator
空间配置器allocator应用在STL一切容器之后,而整个STL的操作对象都要存放在容器中来工作,所以空间配置器是整个STL最基本的组件。根据STL规范标准接口设计一个简单的空间配置器 HS::allocator#include #include #include #include #include using std::set_new_handler;using std::原创 2017-12-26 18:26:09 · 360 阅读 · 0 评论 -
C++构造函数小结
1.默认构造class A{public: A() {}; //default构造函数};class B{public: B(int _x = 0) : x(_x) {} //default构造函数private: int x;};class C{public: C(int _x) : x(原创 2017-12-27 14:04:00 · 586 阅读 · 0 评论