空指针详解
空指针背景与动机 在 C++ 中,我们常听到空指针(null pointer),但在真实代码中,对于空指针的表示,竟有 NULL、0 和 nullptr 三种之多。就如同茴香的“茴”的几种写法一样。初学者不禁要问:那到底哪一个才是正确优雅的推荐写法呢 ? 空指针(null pointer):表示不指向任何有效的内存地址。在早期 C 语言中,宏 NULL 通常被定义为 0(或在某些实现中 (void
关于「C++」的技术文章、设计资料与工程师讨论,持续更新。
空指针背景与动机 在 C++ 中,我们常听到空指针(null pointer),但在真实代码中,对于空指针的表示,竟有 NULL、0 和 nullptr 三种之多。就如同茴香的“茴”的几种写法一样。初学者不禁要问:那到底哪一个才是正确优雅的推荐写法呢 ? 空指针(null pointer):表示不指向任何有效的内存地址。在早期 C 语言中,宏 NULL 通常被定义为 0(或在某些实现中 (void
在 C++ 编程中,(动态)内存管理是十分重要的。常见的(动态)内存问题包括: 内存泄漏(memory leak) 悬空指针 (dangling pointer) 双重释放或内存破坏(double free or corruption) 野指针(wild pointer) 内存越界(buffer overflow/underflow) 使用未初始化内存(uninitialized memory)
bits/stdc++.h 是一个在 C++ 编程中常用的头文件,主要用于简化代码的编写。它包含了几乎所有的标准库头文件,方便程序员在编写代码时不必逐一包含每个头文件。 该头文件的所在源码仓库 https://gist.github.com/Einstrasse/ac0fe7d7450621a39364ed3b05cacd11 用法 在 C++ 程序中,使用 bits/stdc++.h 的方式非常
C++ invoke invoke是C++17标准引入的一个函数模板,用来调用可调用对象(Callable Object,如函数指针、函数对象、成员函数指针等)并返回结果。 invoke提供了统一的调用语法,无论可调用对象的类型是什么,都可以使用同一种方式进行调用。 在C++17之前,调用不同类型的可调用对象需要使用不同的语法,比如直接调用函数、使用类对象的运算符重载操作符()来调用函数对象、使用
上篇文章,介绍了《大话设计模式》的第9章——原型模式。 关注“码农爱学习”,设置“星标公众号” 本篇,来介绍《大话设计模式》的第10章——模板方法。并通过C++代码实现实例代码的功能。 1 模板方法 模板方法模式(TemplateMethod):定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2