![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
逸冰小子
一名工程师
展开
-
单例模板工厂
简述单例,顾名思义,就是一个程序中,只能存在一个这样的实例。所以要实现单例必须私有化构造函数,禁止外部创建新的对象私有化析构函数,防止资源不正确释放私有化拷贝构造函数,禁止拷贝出新的对象私有化赋值运算符,禁止通过赋值创建出新的对象提供获取实例的方法提供销毁实例的方法简单实现#include <iostream>class Singleton{ S...原创 2020-03-06 23:35:10 · 841 阅读 · 0 评论 -
C++ 函数修改实参并设置缺省值
简述在维护上古代码时,遇到这样一个问题 ,函数外部需要获取函数内部的一个值,但返回值已经被占用了,所以只能增加一个参数,但增加参数后,之前使用过此函数的地方,都需要修改,所以还需要设置一个缺省值。解决方案一bool func(int &i = 10){ i = 5; return true;}这种方案并不可行,函数中的默认值10为常量,而 i 并非常引用。...原创 2020-03-05 22:09:30 · 1071 阅读 · 0 评论 -
局部类
嵌套类class LambadCustom{public: virtual int test() = 0;};int funcf(LambadCustom *f){ int b = f->test(); return b + 12;}int main(int argc, char *argv[]){ int i = 9; clas...原创 2019-12-20 20:15:19 · 309 阅读 · 0 评论 -
重定义括号操作符
class Test{public: void operator()() { qDebug()<< "test"; }};int main(int argc, char *argv[]){ Test *test = new Test; (*test)(); return 0}原创 2019-12-20 20:10:39 · 443 阅读 · 0 评论 -
C++ Hex 转 ASCII (十六进制转字符串)
#include <iostream>using namespace std;// 获取字符串长度unsigned int strlen(const char *str){ const char *cp = str; while(*cp++); return (cp - str -1);}//十六进制转字符int hex2char(uint8_t...原创 2019-05-07 20:41:40 · 9192 阅读 · 0 评论 -
C 获取字符串长度
简述在c里面,字符串都以'\0'为结束标志,利用这点,每次循环的时候移动一下这个指针,当指针指向 '\0' 也就是 0的时候,循环便退出,再计算两个指针之间的距离,便是字符串长度了。代码size_t strlen(const char *str){const char *cp = str;while(*cp++);return (cp - str -1);}...原创 2019-04-13 16:18:18 · 3097 阅读 · 0 评论 -
C++ 多个指针指向同一个对象
多个指针指向同一个对象。当对象被删除时,如果有指针没有被赋值为null,将可能出现不可预期的后果。原创 2019-03-16 14:01:36 · 5537 阅读 · 1 评论