C++
文章平均质量分 67
茶茶喝茶
这个作者很懒,什么都没留下…
展开
-
C++单例模式(全)
单例模式参考https://leetcode-cn.com/leetbook/read/cpp-interview-highlights/ou1g1e/https://zhuanlan.zhihu.com/p/62014096应用场景应用场景:全局只有一个实例,比如打印机实现方式构造函数私有化,拷贝构造函数,拷贝赋值运算符delete;需要注意多线程环境下 是否单例的情况(详见下文)。实现一——线程不安全的原始单例构造函数 拷贝构造 拷贝赋值 私有化//构造函数拷贝构造priva原创 2022-03-01 10:22:44 · 729 阅读 · 0 评论 -
智能指针std::weak_ptr的基本用法
weak_ptr基本使用方法参考weak_ptr cpprefrence中文文档weak_ptr只有shared_ptr观测权没有使用权,不增加shared_ptr引用计数如果要使用weak_ptr指向对象的功能,不能直接使用而应先用weak_ptr::lock()创建shared_ptr对象weak_ptr用来防止shared_ptr的循环引用问题class A{public: A(){cout << "A constructed\n";} ~A(){cout原创 2022-02-24 15:54:28 · 695 阅读 · 0 评论 -
RTTI 基本概念
RTTIdynamic_cast 和type_id特别适用于 对基类指针引用执行某个派生类操作而该派生类操作不是虚函数(非常拧巴)与虚函数成员相比RTTI有潜在风险基本例子, 基类至少含有要一个虚函数否则报错cannot dynamic_cast ‘ptr’ (of type ‘class Father*’) to type ‘class son*’ (source type is not polymorphic)class Father{ //基类至少有一个虚函数 virtual原创 2022-01-19 16:37:32 · 617 阅读 · 0 评论 -
C++随机数速成
C风格的随机数 srand和randsrand——产生随机数种子rand()%n——产生0~n随机数rand()%n+1 产生1~n随机数/* rand example: guess the number */#include <stdio.h> /* printf, scanf, puts, NULL */#include <stdlib.h> /* srand, rand */#include <time.h> /* ti原创 2021-09-18 16:16:56 · 1228 阅读 · 0 评论