随笔分类 - C/C++
摘要:# 《Effective STL》条款15:注意string实现的多样性 
阅读全文
摘要:g++源码位置: C:\Users\Matthew Crawley\AppData\Local\Microsoft\Linux\HeaderCache\1.0\Ubuntu\usr\include\c++ g++源码位置: \\wsl.localhost\Ubuntu\usr\include\c++
阅读全文
摘要:VS Linux C++ Additional Debugger Commands Visual Studio 2022 Linux C++ 应用程序,当我们借助 GDB 调试时,如果需要设置其他的 GDB 调试命令,那么应在: 配置属性 => 调试 => 其他调试程序命令 一栏中填写需要的 GDB
阅读全文
摘要:GDB print derived type 当我们在使用GDB调试时, print 默认打印多态指针或多态引用的声明类型,如果我们需要查看其实际的派生类类型,方法是: 首先在GDB命令行输入命令: set print object on 然后再 print 相关的多态指针或多态引用。 当多态指针是
阅读全文
摘要:Visual Studio 2022 使用监视窗口查看变量的地址 通过在“监视”窗口中,填写变量的取地址表达式 &var ,然后按 Enter 键以确认,从而在调试时来查看变量的地址。 References: 对变量设置监视 - Visual Studio (Windows) | Microsoft
阅读全文
摘要:Visual Studio 2022 额外指定编译命令 在 命令行 >> 其他选项 栏中填写额外指定的编译命令。 举例:Visual Studio 2022 Linux C++ 应用程序,强制指定 g++ 编译器暂时还未完全支持的最新的 C++20 标准,以覆盖默认支持的最高的 C++17 标准:
阅读全文
摘要:C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
阅读全文
摘要:Effective STL Item 06:Be alert for C++'s most vexing parse.
阅读全文
摘要:
阅读全文
摘要:unique_ptr 拷贝的方法 std::unique_ptr Deep Copy 虽然 std::unique_ptr 删除了 copy constructor 和 copy assignment operator ,但其实我们可以借助解引用操作变通地对 std::unique_ptr 进行拷贝
阅读全文
摘要:Static local variable and Global variable Static local variable 对于 static local variable ,在 control 首次经过其声明时才会被初始化(除非其初始化是零初始化或常量初始化,这可以在首次进入块前进行),在其后
阅读全文
摘要:Stack Unwinding 当程序抛出一个异常时,程序暂停当前函数的执行过程并立即开始查找(look up)最邻近的与异常匹配的 catch 子句: 如果查找到一个匹配的 catch 子句,异常从它的抛出点开始“向上”传递到匹配的 catch 子句。异常传递过程中,当退出了某些作用域时,该作用域
阅读全文
摘要:Visual Studio 2022 配置CMake Build and Debug C++ with WSL 2 Distributions and Visual Studio 2022 - C++ Team Blog (microsoft.com)
阅读全文
摘要:使用 Visual Studio 2022 开发 Linux C++ 应用程序 前置条件: Windows上需要先安装 WSL2,方法见: Install WSL | Microsoft Docs 在 WSL2 中依次执行如下命令,进行安装如下必需软件: sudo apt update && sud
阅读全文
摘要:原始指针 捕获所有异常 避免内存泄漏 原始指针 避免内存泄漏 程序使用 raw pointer 时,资源往往被显式管理(managed explicitly)。以此方式使用 raw pointer 的典型例子是,以 new 和 delete 创建和销毁对象: void Foo() { Widget*
阅读全文
摘要:析构函数 destructor 私有析构函数 private destructor 析构函数是 private 时,那么当对象销毁时或对于动态分配的对象,当对指向它的指针应用 delete 运算符时,只有 对象销毁 所处的上下文环境为成员函数体或友元函数体内部时,才能正常调用 private 析构函
阅读全文
摘要:C++ 单例模式 Singleton Singleton 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 实现要点 构造函数应该声明为非公有,从而禁止外界创建实例。 拷贝操作和移动操作也应该禁止。 只能通过 Singleton 的公有特定类操作访问它的唯一实例(C++中的一个公有静态成员函数
阅读全文
摘要:Google Style Guides Google Style Guides Google 开源项目风格指南 (zh-google-styleguide.readthedocs.io)
阅读全文
摘要:VS Code Just My Code Debugging 😭 VS Code for C++ doesn't support Just My Code Refer here: Add support for "Just My Code" debugging · Issue #5763 · mi
阅读全文
摘要:Just My Code debugging During a debugging session, the Modules window shows which code modules the debugger is treating as My Code (user code), along
阅读全文