![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 63
积累积累
这个作者很懒,什么都没留下…
展开
-
C语言getopt函数使用方法
【代码】C语言getopt函数使用方法。原创 2024-01-06 17:57:49 · 457 阅读 · 0 评论 -
std::move源码分析
***/此函数用于将一个值转化为一个右值(注意这里没有说是左值还是右值)__t是任意类型的参数此函数最终会将__t转化为一个右值引用类型也是个函数模板,从名称上就比较好理解,即为移除引用。所以我们只想知道,它是如何移除引用的。我们来看下从上面的定义我们可以看到无论传入的是值类型(_Tp),左值引用类型(_Tp&)还是右值引用类型(_Tp&&),最终得到的都是_Tp类型,具体参考https://compiler-explorer.com/z/E86M68r3d。原创 2023-11-15 17:30:29 · 101 阅读 · 0 评论 -
shared_ptr和weak_ptr
参考实现简单的shared_ptrC++智能指针的enable_shared_from_this和shared_from_this机制用C++11 make_shared替代shared_ptr原创 2023-11-15 17:20:21 · 34 阅读 · 0 评论 -
字节序,bit序以及位域
如果将一个32位的整数0x12345678存放到一个整型变量(int) 中,这个整型变量采用大端或者小端模式在内存中的存储由下表所示。原创 2023-10-26 17:49:23 · 86 阅读 · 0 评论 -
RTTI和CAST
什么是RTTI?原创 2023-10-24 20:06:48 · 45 阅读 · 0 评论 -
虚函数内存布局解析
主要在于功能解耦合以及规范化的需要。我们很多时候需要做到:**一个模块对达成某个功能(机制)有一组可替换的实现(策略)。也就是说,需要策略和机制分离。那么我们的模块就应该只依赖这个机制的接口,而非这个机制的具体实现。,这是怎么实现的呢?中更加完善,它会告诉妳这是一个接口。,这里如果我们想在业务中使用。都生成了非虚的析构函数,直接。的功能,那么我们就必须把。可能导致释放不完全。原创 2023-10-23 10:41:12 · 100 阅读 · 0 评论 -
关于左值、将亡值和纯右值
在C++11之前,表达式的值分为左值和右值两种,其中右值就是我们理解中的字面值等。自C++11开始,表达式的值分为左值()、将亡值()、纯右值(原创 2023-10-20 11:41:18 · 44 阅读 · 0 评论 -
《Effective Modern C++》学习笔记 - Item 1: 理解模板类型推导
对于一个复杂系统的用户来说,很多时候他们最关心的是它做了什么而不是它怎么做的。在这一点上,C++中的模板类型推导表现得非常出色。数百万的程序员只需要向模板函数传递实参,就能通过编译器的类型推导获得令人满意的结果,尽管他们中的大多数在被逼无奈的情况下,对于传递给函数的那些实参是如何引导编译器进行类型推导的,也只能给出非常模糊的描述。如果那些人中包括你,我有一个好消息和一个坏消息。好消息是现在C++最重要最吸引人的特性auto是建立在模板类型推导的基础上的。原创 2023-10-09 20:38:14 · 94 阅读 · 0 评论