
C/C++基础
这是一个知识付费的时代,该专栏整理了鄙人最近5年来最常用的C++基础,目前有150章(2023-08-03),后面会随着工作的持续不定时更新,价格按照CSDN官方最低标准9.9元走,绝对物有所值。
发如雪-ty
一个工作多年的程序员,一直从事C++开发方面的工作,曾有幸在安防行业深耕4年,并有幸在工业检测行业工作至今已有4年,主要负责系统软件的设计与开发,个人编程的信仰:不要盲目学习酷炫的东西,最重要的依然是内功。
展开
-
宽窄字符转换
【代码】宽窄字符转换。原创 2024-12-13 00:13:49 · 164 阅读 · 0 评论 -
c++基础-去掉空格
【代码】c++基础-去掉空格。原创 2024-10-12 16:47:56 · 446 阅读 · 0 评论 -
c++如何截取桌面
c++截取桌面原创 2024-05-14 15:40:58 · 604 阅读 · 0 评论 -
CMake简单使用03资源拷贝
CMake使用资源拷贝原创 2024-03-23 00:06:27 · 437 阅读 · 0 评论 -
CMake简单使用02
CMake简单使用原创 2024-03-22 22:54:30 · 332 阅读 · 0 评论 -
CMake简单使用
cmake简单使用原创 2024-03-22 22:14:41 · 272 阅读 · 0 评论 -
可变参数 C/C++ 宏定义
【代码】可变参数 C/C++ 宏定义。转载 2024-02-28 09:17:54 · 588 阅读 · 1 评论 -
c++获取当前时间
获取当前时间原创 2023-12-13 10:32:37 · 704 阅读 · 0 评论 -
常用的萃取总结
萃取原创 2023-11-11 13:17:17 · 161 阅读 · 0 评论 -
lambda的大小探索
【代码】lambda的大小探索。原创 2023-11-08 22:16:34 · 176 阅读 · 0 评论 -
注意,注意,weak_ptr有坑
weak_ptr注意点原创 2023-11-05 22:53:15 · 261 阅读 · 0 评论 -
条件变量与锁趣味性测试
结论:如果当前锁已经被其它线程锁住,那么锁的时候会等待,直到其它线程释放锁。原创 2023-10-17 11:20:23 · 139 阅读 · 0 评论 -
stl string内存空间增长探索
string 内存空间增长探索原创 2023-09-28 15:07:16 · 174 阅读 · 0 评论 -
智能指针使用注意点
weak_ptr可以从一个shared_ptr或者另一个weak_ptr对象构造,获得资源的观测权。使用weak_ptr的成员函数use_count()可以观测资源的引用计数,另一个成员函数expired()的功能等价于use_count()==0,但更快。表示被观测的资源(也就是shared_ptr的管理的资源)已经不复存在。参考链接:https://blog.csdn.net/sinat_31608641/article/details/107702175。原创 2023-09-14 00:52:56 · 148 阅读 · 0 评论 -
不推介使用裸指针的几种情况
【代码】不推介使用裸指针的几种情况。原创 2023-09-11 00:37:47 · 181 阅读 · 0 评论 -
unique_ptr的大小探讨
unique_ptr的大小探讨原创 2023-09-11 00:04:17 · 263 阅读 · 0 评论 -
c++基础之获取当前可执行程序相关的信息
获取可执行文件路径相关原创 2023-05-28 14:27:56 · 277 阅读 · 0 评论 -
snprintf()
snprintf使用原创 2023-05-27 15:24:36 · 487 阅读 · 0 评论 -
C++多线程之自旋锁的实现
C++中自旋锁的实现原创 2023-05-17 00:41:44 · 349 阅读 · 0 评论 -
如何遍历指定目录下所有的文件
遍历文件原创 2023-04-19 19:49:25 · 368 阅读 · 0 评论 -
如何获取屏幕的坐标信息
屏幕坐标信息原创 2023-04-07 22:41:35 · 285 阅读 · 0 评论 -
软件设计经验简谈
软件设计经验简谈原创 2023-01-07 16:57:24 · 801 阅读 · 0 评论 -
WCHAR和char的互转
wchar_t与char的互相转换原创 2022-09-01 09:45:12 · 1135 阅读 · 0 评论 -
c++11~c++20 -08-位域的默认初始化
位域原创 2022-08-13 22:04:27 · 1446 阅读 · 0 评论 -
c++11~c++20 -06-字节对齐alignof、alignas
字节对齐原创 2022-08-13 11:28:41 · 535 阅读 · 0 评论 -
c++11~c++20 -05-thread_local
thread_local原创 2022-08-11 22:06:18 · 409 阅读 · 0 评论 -
c++11~c++20 -04-计算一段代码的运行时间
计算一段代码的执行时间原创 2022-08-09 10:56:46 · 288 阅读 · 0 评论 -
optional
optional使用方法原创 2022-08-01 23:15:22 · 240 阅读 · 0 评论 -
std::back_inserter()的使用
有如下代码段:int main(){ vector<int> v1{ 1, 2, 3, 4, 5 }; vector<int> v2; copy(v1.begin(), v1.end(), v2.begin()); system("pause"); return 0;}结果:使用std::back_inserter()改进int main(){ vector<int> v1{ 1, 2, 3, 4, 5 }; vector<原创 2022-05-06 22:37:08 · 1378 阅读 · 0 评论 -
请为移动构造函数加上noexcept关键字
当 push_back、insert、reserve、resize 等函数导致内存重分配时,或当 insert、erase 导致元素位置移动时,vector 会试图把元素“移动”到新的内存区域。vector 通常保证强异常安全性,如果元素类型没有提供一个保证不抛异常的移动构造函数,vector 通常会使用拷贝构造函数。因此,对于拷贝代价较高的自定义元素类型,我们应当定义移动构造函数,并标其为 noexcept,或只在容器中放置对象的智能指针。下面看个例子:#include <iostream>原创 2022-05-05 23:57:51 · 803 阅读 · 0 评论 -
使用std::unique_ptr管理具备专属所有权的资源
每当你需要使用智能指针时,std::unique_ptr基本上应是手头首选。可以认为在默认情况下std::unique_ptr和裸指针有着相同的尺寸,并且对于大多数的操作,他们都是精确地执行了相同的指令。std::unique_ptr的一个常见的用法是在对象继承谱系中作为工厂函数的返回型别。下面给出例子:class MyBase{public: virtual void gogo() = 0; virtual ~MyBase() { cout << "~MyBase\n";原创 2022-05-02 15:24:33 · 409 阅读 · 0 评论 -
STL-04-萃取技术
萃取原创 2021-01-03 15:26:17 · 538 阅读 · 1 评论 -
stl vector如何清理多余的空间
vector中reserve()接口是用来提前给vector对象分配空间的,这样再往里面增加元素的时候,会大大提高添加元素的效率,尤其对象,因为避免了因扩容而造成的复制操作。结果:原创 2022-04-23 20:35:46 · 221 阅读 · 0 评论 -
如何安全的抛出指向自己的指针
虚拟内存的应用方法1方法2正确做法实现原理需求描述:有一个类,需要提供一个接口,这个接口需要将自己以指针的方式传出去。方法1class Bad{private: int *pa;public: Bad(int n) { pa = new int(n); } ~Bad() { std::cout << "Bad::~Bad() called" << std::endl; delete pa; pa = NULL; } Bad* ge原创 2022-04-23 00:52:42 · 1335 阅读 · 0 评论 -
明智而审慎地使用private继承
之前说过public继承是is-a关系。如下例子class person{}class student:public person{}显然学生就是人。那private继承显然不是is-a关系,那他意味这什么呢?如果classes之间的继承关系是private,编译器不会自动将一个derived class对象,转换为一个base class对象、再有,由private base class继承而来的所有成员,在derived class中都会变成private属性,纵使他们在base中原原创 2022-03-27 00:09:33 · 659 阅读 · 0 评论 -
为什么我一直强调使用new和delete时要采取相同的形式
有如下类:class point_ty{private: int x; int y; int z;public: point_ty(int a, int b,int c) :x(a), y(b),z(c) { } point_ty() :x(0), y(0),z(0) { } void show() { cout << this << " x:" << x << " y:" << y << e原创 2022-03-19 23:01:02 · 145 阅读 · 0 评论 -
RALL再度探索
class TestObj{public: TestObj() { cout << "TestObj()\n"; } ~TestObj() { cout << "~TestObj()执行\n"; } void showMsg() { cout << "showMsg()\n"; }};class ManageObj{public: ManageObj(TestObj *pObj) :m_pObj(pObj) { }原创 2022-03-18 23:58:15 · 353 阅读 · 0 评论 -
stl accumulate
stl中accumulate可以用于求和,如下:包含:#include <numeric>1.函数原型:accumulate(_InIt _First, _InIt _Last, _Ty _Val)2.普通类型:void main(){ std::vector < int > v{10, 20, 30, 40, 50, 60, 70, 1, 2}; int nsum = std::accumulate(v.begin(), v.end(), 0); cout &l原创 2021-12-29 21:39:19 · 981 阅读 · 0 评论 -
c++基础使用STL的注意的一些点
原创 2021-12-27 23:58:47 · 304 阅读 · 0 评论 -
C++基础函数适配器之mem_fun,mem_fun_ref
class person{public: person(string na, int age) { name = na; nage = age; } void show() { cout << name.c_str() << " " << nage << endl; }private: string name; int nage;};void main(){ cout << "mem_fun_ref测试原创 2021-12-27 23:40:29 · 818 阅读 · 0 评论