C++

C++传值、传址、传引用的区别和选择小结-牛翰网

C++传值、传址、传引用的区别和选择小结

目录 传值 传址 传引用 如何选择合适的参数传递方式 在C++中,参数传递方式主要有三种:传值(pass by value)、传址(pass by address)、传引用(pass by reference)。每种方式都有其特定的...
C++实现字符串元音字母反转的两种方法-牛翰网

C++实现字符串元音字母反转的两种方法

目录 C++实现字符串元音字母反转的巧妙方法 示例 方法一:利用数据结构存储元音位置和字符并反转 代码实现 1. 如何在C++中存储数字和字符并支持翻转 2. 判断字符是否在列表中 3. 巧妙的反转操作...
深入解读C++ 内联函数inline|nullptr-牛翰网

深入解读C++ 内联函数inline|nullptr

目录 一、inline关键字 1.1 什么是内联函数? 1.2 为什么会有内联函数? 1.2.1 回顾宏 1.2.2 宏的改进–内联函数 1.3 内联函数的特性 二、指针空值nullptr 2.1 C和C++中NULL的含义 2.2 nullptr...
c++栈内存和堆内存的基本使用小结-牛翰网

c++栈内存和堆内存的基本使用小结

c++栈内存和堆内存的基本使用 #include <iostream> // 定义一个简单的结构体 struct Person { std::string name; int age; }; int main() { // 栈内存分配 int a = 10; // 基本数据类型的...
c++临时对象导致的生命周期问题-牛翰网

c++临时对象导致的生命周期问题

目录 基础回顾 函数调用中的生命周期问题 链式调用中的生命周期问题 三元运算符中的生命周期问题 特例 如何发现生命周期问题 总结 参考资料 对象的生命周期是c++中非常重要的概念,它直接决定了...
C#桌面应用开发实现番茄定时器-牛翰网

C#桌面应用开发实现番茄定时器

目录 1、环境搭建和工程创建: 2、制作窗体部件 3、界面布局设计 4、具体功能函数 1、环境搭建和工程创建: 步骤一:安装visual studio2022 步骤二:新建工程 2、制作窗体部件 *踩过的坑: (1...
C++之assert推荐用法及注意事项-牛翰网

C++之assert推荐用法及注意事项

目录 1.引言 2.简单示例 3.推荐使用方法 4.常见使用场景和注意事项 4.1.检查参数的合法性 4.2.assert不能使用改变环境的语句 4.3.在未知的逻辑中添加assert(false) 5.总结 1.引言 assert在 ...
e05ee51924526d00的头像-牛翰网流星雨爱编程1年前
04213
C++之thread_local变量的一些用法-牛翰网

C++之thread_local变量的一些用法

目录 1.C++ 的存储类型 1.1.存储周期(Storage duration) 1.2.存储类型说明符(Storage class specifiers) 1.3.存储类型说明符与存储周期的关系 2.thread_local简介 3.thread_local 应用 3.1....
e05ee51924526d00的头像-牛翰网流星雨爱编程1年前
04511
C++ 智能指针使用不当导致内存泄漏问题解析-牛翰网

C++ 智能指针使用不当导致内存泄漏问题解析

目录 shared_ptr相互嵌套导致循环引用 代码示例 解释说明 解决方法 shared_ptr的层次使用没有导致循环引用 回调函数中的循环引用问题 值捕获 引用捕获 如何解决  背景问题 std::enable_sha...
C++段错误(Segmentation fault)快速定位的解决方法-牛翰网

C++段错误(Segmentation fault)快速定位的解决方法

目录 问题背景 问题解决 问题背景 写过C++的朋友都知道,有时候程序编译通过,并不能代表程序就是对的。在linux下做开发时,经常会遇到跑崩溃的情况,但是在终端只会报Segmentation fault,这种...