自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

7now_的博客

代码即人生

  • 博客(12)
  • 收藏
  • 关注

原创 STL 迭代器

迭代器偏特化的意义偏特化偏特化就是对部分模板参数指定特定的类型。 如一个萃取迭代器所指类型的类:template<typename T> //输入的T是迭代器类型,其内部实现了value_type类型struct iterator_traits{ typedef typename T::value_type value_type; //typenam...

2018-03-26 15:25:24 114

原创 STL 空间配置器

内存的申请和释放STL的内存分配和释放被详细区分为四个部分:内存配置由allocate()负责(内部实现为operator new),内存释放由deallocate()负责(内部实现为operator delete);对象构造由construct()负责(内部实现为placement new),对象析构操作由destroy()负责(内部实现为~T()【T为对应类型】)operator ne...

2018-03-26 09:27:32 198

原创 Linux 多进程多线程编程

一 创建进程1 进程号进程号的类型是pid_t(typedef unsigned int pid_t)。获得进程和父进程ID的API如下:#include <sys/types.h>#include <unistd.h>pid_t getpid();//获得进程IDpid_t getppid();//获得父进程ID2 进程复制进程复制可以...

2018-03-20 21:50:05 3732

原创 C++ RTTI(运行阶段类型识别)

问题:假设有一个类层次结构,一个基类派生了很多类,则可以让基类的指针指向其中任何一个类的对象,那通过指针指向对象的时候,如何判断对象的类型呢? C++拥有RTTI(runtime type identification)这个特性 RTTI:运行阶段可以确定对象的类型。C++有3个支持RTTI的元素dynamic_cast操作符将使用一个指向基类的指针来生成一个指向派生类的指针,否则该操作...

2018-03-18 15:00:58 311

转载 C++ const

1用const 修饰函数的参数 如果参数作输出用,不论它是什么数据类型,也不论它采用“指针传递”还是“引用传递”,都不能加const修饰,否则该参数将失去输出功能。const 只能修饰输入参数: 如果输入参数采用“指针传递”,那么加const修饰可以防止意外地改动该指针,起到保护作用。 例如StringCopy 函数:void StringCopy(char*strDestinati...

2018-03-16 10:54:38 119

原创 C++ 四种类型转换

C++中存在四种类型转换操作符:static_cast、dynamic_cast、const_cast、reinterpret_cast。 下面对这四种类型转换操作符进行简要介绍:static_caststatic_cast提供编译时期的静态类型检测,可以完成以下几类类型转换: 1)完成基础数据类型 2)同一个继承体系中类型的转换 3)任意类型与空指针类型void*之间...

2018-03-09 19:12:36 361

转载 C++ 控制对象生成数量的一个方法

如果一个类希望自己的对象数量可以控制在一定范围的话,可以采用对象计数的方式。在类中添加对象当前的数量和对象总共的数量(都设置为静态的全局类型) 但是类可能会通过被继承或者其他方式产生新的对象,需要杜绝这种方式,所以采用伪构造函数的方式。 伪构造函数就是将构造函数定义为私有类型,然后通过其他的供油成员函数调用构造函数来实现对象的产生,从而杜绝了构造函数和复制构造函数这两种产生新的对象的途径(带有...

2018-03-09 13:30:38 620

原创 C++ 运算符重载和类型转换函数

C++中对于用户自定义类对象的运算,要进行重载操作。如class overload{public: ...private: int num;};overload o1, o2;int num;//要实现的加法操作如下:/*1*/overload o3 = o1 + o2;/*2*/overload o4 = o1 + (任意int型);/*3*/overl...

2018-03-08 12:55:02 1626

原创 C++ mutable

C++的类中,如果用mutable关键字修饰的成员变量,在任何成员函数中都可以被修改,甚至是const修饰的成员函数。#include <iostream>using namespace std;class Mute{public: Mute(int a, int b):NotmuteNum(a), muteNum(b){ } void muteTes...

2018-03-07 15:22:00 430

原创 C++中sizeof的一个特性

#include <iostream>using namespace std;int main(){ int a = 1; cout << sizeof(a = 3) << endl; cout << a << endl; return 0;}输出为4,1,而不是4,3 由输出可以知道,...

2018-03-06 12:55:34 129

原创 C++ new操作符

#include <iostream>#include <new>using namespace std;int main(){ //operator new申请一块内存空间,用来存储string对象 void *rawMemory = operator new(sizeof(string)); //用string指针指向此块内存空间,使这...

2018-03-06 12:19:09 216

原创 python输出格式化字符串

在Python中,采用的格式化方式和C语言是一致的,用%实现>>> 'Hello, %s' % 'world''Hello, world'>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)'Hi, Michael, you have $1000000.'%运算符就是用来格式化字符串的。在字符串内...

2018-03-05 21:57:31 333

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除