c++
viredery
这个作者很懒,什么都没留下…
展开
-
C++ 单例模式
C++11中,如果一个静态的局部变量正在被初始化,那么并行程序将会等待静态变量初始化完成后再执行。class Singleton { public: ~Singleton() {} Singleton(const Singleton&) = delete; Singleton(Singleton&&) = delete; Singleton& operator=(const Sing原创 2017-06-17 20:50:16 · 198 阅读 · 0 评论 -
C++ 赋值运算符函数
类型中的赋值运算符函数的设计需要考虑以下几点: 把返回值的类型声明为该类型的引用,并在函数结束前返回实例自身的引用(保证连续赋值)。 把传入的参数的类型声明为常量引用(避免调用拷贝构造函数)。在拷贝赋值运算符函数中,如果不改变参数的状态,则设置 const 关键字。 释放自身已有的动态分配的内存(防止内存泄露)。 如果传入参数和当前实例 *this 是同一个实例,则不进行赋值,直接返回。 保证异常安原创 2017-06-17 21:21:38 · 325 阅读 · 0 评论 -
字符串A中出现B时就用C来代替
这个问题的重点是不使用STLC语言的动态分配内存: malloc(分配的字节大小) free() cstring库中的函数: strlen() strncmp() strncat() strncpy() 该算法使用的格外空间大小 O(nAnB)O(\frac{n_A}{n_B}),没有改变p_A,p_B,p_C所指向的值,输出的结果存储在动态分配的内存中。思路: 找出A中所有B的开始位置,保存在数组原创 2017-06-26 20:29:19 · 749 阅读 · 0 评论