首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
C++ 技术相关
marsCatXDU_李经纬
创建于2022-02-10
订阅专栏
C++ 学习笔记、技术分享等
等 1 人订阅
共21篇文章
创建于2022-02-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【译】eventpp 的策略(policies)与混入(mixins)
eventpp 是一个 header-only 、简洁易用的 C++ 事件库,能为 C++ 程序添加类似于 Qt 信号槽系统的事件机制。本专栏以该库文档的中文翻译为主,内容已贡献到该库的代码仓
C++ 智能指针:unique_ptr、shared_ptr 和 weak_ptr
糟糕的内存管理通常会把程序变成一团乱麻,全面破坏程序的可读性、可维护性和安全性。 使用智能指针则能在一定程度上解决上述问题
C++ 中的各种 const 及 constexpr
总结了 C++ 中 const 关键字修饰变量、修饰函数、修饰函数的参数以及在不同位置时起到的作用的异同。最后比较了 const 和 constexpr
【译】eventpp CallbackList、EventDispatcher、EventQueue 类参考手册
eventpp 是一个 header-only 、简洁易用的 C++ 事件库,能为 C++ 程序添加类似于 Qt 信号槽系统的事件机制。本专栏以该库文档的中文翻译为主,内容已贡献到该库的代码仓
【译】GMP 编译及安装(GMP 6.2.1)
本文是对 GMP 库( GNU MP )官方文档编译构建部分的翻译。主要内容是 configure 相关选项的说明
【译】C++ eventpp 库介绍:事件分发、回调和事件队列
eventpp 是一个 header-only 、简洁易用的 C++ 事件库,能为 C++ 程序添加类似于 Qt 信号槽系统的事件机制。本专栏以该库文档的中文翻译为主,内容已贡献到该库的代码仓
【译】C++ eventpp 使用教程:CallbackList、EventDispatcher、EventQueue 类
eventpp 是一个 header-only 、简洁易用的 C++ 事件库,能为 C++ 程序添加类似于 Qt 信号槽系统的事件机制。本文是其中的三个核心类的使用教程
C 语言学习笔记1:数据类型
类型的选择:ISO C 规定的 int 是 16 位的,考虑机器间的差异情况,如无必要则不要用 long 。确实要用 32 位数时,要用 long,以确保对代码对 16 位机器的易移植性。因某些机器使用 16 位硬件寄存器,使用 short 可以提高效率。 | char | \…
C++入门学习笔记7:输入输出流
非类型安全。可以输入/输出各种类型的数据。如果scanf的地址写错,可能会让程序硬写内存导致一些危险的后果 不可扩充性。没办法输出复杂的东西 C++使用类型安全的 I/O 流操作,不同类型的 I/O 流操作都是重载的,没定义过 I/O 功能的类型不具备 I/O 操作的能力。通过…
C++入门学习笔记6:多态性与虚函数
替代后,派生类对象就可以当作基类的对象用了。但是只能访问从基类继承的成员,也只能调用基类中包含的函数 具有相似功能的不同函数使用同一个名称,从而可以使用相同的调用方式来调用这些有不同功能的同名函数。 重载就是一种多态,但重载是【静态的多态】。 静态多态(编译时多态):编译时系统…
C++入门学习笔记5:类的继承、多继承与虚基类
继承关系图。向上的箭头指向直接父类。 父类、子类;基类、派生类;超类、次类。 从上向下被称为“特化”,向上则被称为“概化”。在继承中,派生类可以覆盖基类方法、添加新的属性和方法。 上面这两个类,其实可以往上再抽取出来一层。 下面的类,自动就有了上面的类的成员。在下面各个类中增加…
C++ 入门学习笔记4:运算符重载,友元
运算符重载的本质是函数的重载,我们需要为每个重载的运算符定义一个【运算符重载函数】,运算符该做的事情实际上会交给这个函数来做。这样的函数可以是类的成员函数或友元函数。 但注意,这俩运算符的 先自加 / 后自加 的效果是不同的,也就是说重载运算符函数的返回值不同,重载时需要区分。…
C++入门学习笔记3:通过 static 实现对象间的数据共享;对象指针,动态对象,this、成员指针,对象引用,常对象,类模板
同一个类的不同对象,可以访问相同的静态成员变量、静态成员函数。 与静态成员相对的,非静态成员又被称为实例属性,它们的值是每个对象所特有的。 用static关键字声明的静态成员的属性则是被所有同类对象共有的类属性。 **静态成员不会在每个对象内部占用空间。**其空间在程序编译时进…
C++入门学习笔记2:类、对象、构造/析构函数
按照功能划分软件结构——确定整个系统的输入输出,再把中间过程分为一个个小的子系统,每个子系统也都是有着输入输出的,把这些部分连接起来就是整个系统。 以函数作为主体,整个程序耦合程度高。 系统结构相对稳定。“对象”相对于“功能/过程/函数”而言变化更少; 提高软件可重用性、可维护…
C++入门学习笔记1:引用、内联、动态分配内存
**推荐:在函数声明的时候就给出默认值,定义时不再给出。**不同编译器对默认值处理不同,可能由于声明、定义时都给出了默认值而报错,也可能支持声明和定义中使用不同的默认值(以先遇到的默认值为准) 重载函数和默认参数函数共同使用时可能出现二义性问题。 refMax 和 max 在内…
C++听课笔记0:浅尝命名空间、输入输出、常量、重载、模板
可以通过泛化、继承来实现程序的重用和多态。泛型可以编写一般化、可重用的算法并且对效率没有影响; 可以对函数、运算符进行重载。 泛型可以处理不同数据类型的数据。泛型程序可通过模板来实现,模板实现了数据类型、函数定义的参数化。 STL 中的东西都是在 std 中声明的,使用类等之前…
【译】内核、编译器、C库是如何共同工作的?
翻译的原文版本:23 December 2019, 10:56. 内核是操作系统的核心。在传统的设计中,内核负责内存管理、I/O 、中断管理等工作。 在微内核(Microkernel)、外内核(Exokernel)等现代的设计中,部分上述工作被迁移到了用户空间,这些情况不在本文…
CS_APP 读书笔记:链接(3)重定位、可执行目标文件及其加载,动态链接库(1)
符号解析成功,就意味着每个符号引用都能找到一个符号的定义,并已经与其关联起来。 将多个模块合并为同一个文件,并为合并后文件中的每个指令和变量确定运行时地址。 ld 修改 .code 、.data 中对每个符号的引用,指向刚刚确定的运行时地址。引用重定位要使用到目标文件中的重定位…
CS_APP 读书笔记:链接(2)符号表、符号解析、静态库的链接
这里说的符号,其实就是汇编语言中提的那个【标号 Label】。 全局符号:在本模块中定义,其他模块引用的符号。这些符号应该是非静态的 C 函数和全局变量; 局部符号:在本模块定义,且只在本模块引用的符号。这样的符号在本模块内部随处可见,但不能在其他模块中引用,在 C 中需要用 …
CS_APP 读书笔记:链接(1)AT&T 汇编、目标文件、链接器、ELF 的基础概念
本篇仅记录最基础的内容,后续笔记中会逐渐补充完善。 注释以 # 开头,伪指令以 . 开头; 操作数字长一般直接作为后缀连接在指令名的后面。b:byte(8),w:word(16),l:long(32)。eg. pushl %eax; 左边的是源操作数,右边的是目的操作数。eg.…
下一页