自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 string的sso实现

sso的全称是Small String Optimization,小字符串优化。struct _Alloc_hider : allocator_type // TODO check __is_final { _Alloc_hider(pointer __dat, const _Alloc& __a = _Alloc()) : allocator_type(__a), _M_...

2018-05-10 20:13:00 1311

翻译 03静态编程

当类模板产生实例时,编译器生成:1.每个成员在类级别的签名2.所有静态常量和typedef3.严格需要的函数体当需要同样的实例的时候,通过查找来找到。例如:template <size_t N>struct sum_of_integers_up_to{ static const size_t value = N + sum_of_integers_up_to<N-1>...

2018-05-10 10:56:39 200

翻译 02小对象工具

如果需要保证类型T包含一个名为value的常量或名为type的类型,可以这样写:template <typename T>void myfunc(){typedef typename T::type ERROR_T_DOES_NOT_CONTAIN_type;const int ASSERT_T_MUST_HAVE_STATIC_CONSTANT_value(T::value)...

2018-05-09 14:55:26 140

翻译 01 模板

编译时常量语语法是static const [[integer type]]name=value编译时常量可以是:1.整型字面值,如27,0x052.sizeof和具有整型结果的非标准语言运算符,如__alignof__3.非类型模板参数template<int N>class AnotherClass{SomeClass<N>myMember;//这里的N就是};4.整型...

2018-05-08 10:17:55 165

原创 iterator

迭代器首先要看的是一些空类: struct input_iterator_tag { }; struct output_iterator_tag { }; struct forward_iterator_tag : public input_iterator_tag { }; struct bidirectional_iterator_tag : public forward_ite...

2018-05-08 08:54:20 252

原创 shared_ptr的拷贝构造函数

假设shared_ptr的模板参数为T,它的一个构造函数为:template< class Y >explicit shared_ptr( Y* ptr );其中T可以等于Y,也可以不等于Y。那么对于它的拷贝构造函数:shared_ptr( const shared_ptr& r ) noexcept;和template< class Y >shared_p...

2018-05-07 22:41:19 4438

原创 crypt函数

getspnam函数可以根据用户名返回对应shadow文件中的信息,函数原型为struct spwd *getspnam(char *name);,头文件为shadow.h。返回的信息存储在spwd结构中,struct spwd {char *sp_namp; /* Login name. */char *sp_pwdp; /* Encrypted password. */long int ...

2018-05-06 20:59:09 1685

原创 C++11 std::thread::id

C++11 std::thread::id其实是一个内部类:class thread{...    class id{        ...    };...};id里面有一个私有的类似typedef unsigned long int pthread_t;的数据成员。当初遇到id的时候以为它就是一个类似int的东西。在程序的某个地方需要一个数值的id,需要std::this_thre...

2018-05-06 13:45:12 3037

原创 windows下的signal(),pthread_cancel()

windows下的signal()只支持有限的信号:// Signal types#define SIGINT 2 // interrupt#define SIGILL 4 // illegal instruction - invalid function image#define SIGFPE 8 // floating p...

2018-05-06 13:23:24 879

原创 01关于对象

在C语言中,数据和操作是分开声明的。C++将数据和操作封装在一起。C++的数据成员包含在类对象中,成员函数不包含在类对象中。非内联函数只产生一个函数实例,内联函数在每一个调用处展开。C++封装数据和操作带来的开销主要由虚函数机制和虚基类函数引起的。还有一些多重继承下的额外负担。C++有静态和非静态两种数据成员,静态,非静态和虚拟三种成员函数。简单对象模型为每一个数据成员和成员函数分配一个槽,每个槽...

2018-04-19 13:11:36 228

原创 类型泛化

在C++中,template<typename T,...>vector{...};如果我们写vector<int> vec;则T=int。在python中有类似的用法。from typing import TypeVarT=TypeVar('T');class A(object): def __init__(self): print("A"); cla...

2018-04-18 23:17:45 1192

原创 <memory>:allocator

&lt;memory&gt;中的allocator作为STL中默认的内存分配器,它的定义如下:template&lt;typename _Tp&gt;class allocator: public __allocator_base&lt;_Tp&gt;{public: typedef size_t size_type; typedef ptrdiff_t di...

2018-04-18 22:25:40 204

原创 <exception>

&lt;exception&gt;中定义的exception类很简单:class exception{public:    exception()noexcept{}    virtual ~exception()noexcept{}    virtual const char*what()const noexcept{        return "std::exception"; ...

2018-04-18 21:37:44 139

TCP IP architecture design and implementation in linux

TCP IP architecture design and implementation in linux,TCPIP架构设计与应用Linux版的英文版

2018-06-16

神经网络与机器学习

神经网络与机器学习 作者加拿大Simon Haykin (全)

2016-12-03

空空如也

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

TA关注的人

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