随笔分类 -  C/C++

摘要:# 《Effective STL》条款15:注意string实现的多样性 ![string.jpg](https://img2023.cnblogs.com/blog/2141093/202305/2141093-20230521224910823-1205413941.jpg) 阅读全文
posted @ 2023-05-21 22:53 ltimaginea 阅读(27) 评论(0) 推荐(0) 编辑
摘要:g++源码位置: C:\Users\Matthew Crawley\AppData\Local\Microsoft\Linux\HeaderCache\1.0\Ubuntu\usr\include\c++ g++源码位置: \\wsl.localhost\Ubuntu\usr\include\c++ 阅读全文
posted @ 2022-12-22 16:39 ltimaginea 阅读(125) 评论(0) 推荐(0) 编辑
摘要:VS Linux C++ Additional Debugger Commands Visual Studio 2022 Linux C++ 应用程序,当我们借助 GDB 调试时,如果需要设置其他的 GDB 调试命令,那么应在: 配置属性 => 调试 => 其他调试程序命令 一栏中填写需要的 GDB 阅读全文
posted @ 2022-11-09 20:22 ltimaginea 阅读(52) 评论(0) 推荐(0) 编辑
摘要:GDB print derived type 当我们在使用GDB调试时, print 默认打印多态指针或多态引用的声明类型,如果我们需要查看其实际的派生类类型,方法是: 首先在GDB命令行输入命令: set print object on 然后再 print 相关的多态指针或多态引用。 当多态指针是 阅读全文
posted @ 2022-11-09 13:37 ltimaginea 阅读(104) 评论(0) 推荐(0) 编辑
摘要:Visual Studio 2022 使用监视窗口查看变量的地址 通过在“监视”窗口中,填写变量的取地址表达式 &var ,然后按 Enter 键以确认,从而在调试时来查看变量的地址。 References: 对变量设置监视 - Visual Studio (Windows) | Microsoft 阅读全文
posted @ 2022-08-13 15:30 ltimaginea 阅读(952) 评论(0) 推荐(0) 编辑
摘要:Visual Studio 2022 额外指定编译命令 在 命令行 >> 其他选项 栏中填写额外指定的编译命令。 举例:Visual Studio 2022 Linux C++ 应用程序,强制指定 g++ 编译器暂时还未完全支持的最新的 C++20 标准,以覆盖默认支持的最高的 C++17 标准: 阅读全文
posted @ 2022-08-12 19:44 ltimaginea 阅读(471) 评论(0) 推荐(0) 编辑
摘要:C++ Coding Standards: 101 Rules, Guidelines, and Best Practices 阅读全文
posted @ 2022-04-29 18:24 ltimaginea 阅读(185) 评论(0) 推荐(0) 编辑
摘要:Effective STL Item 06:Be alert for C++'s most vexing parse. 阅读全文
posted @ 2022-02-17 22:41 ltimaginea 阅读(37) 评论(0) 推荐(0) 编辑
摘要:![GDB_commands](https://img2020.cnblogs.com/blog/2141093/202201/2141093-20220107212919663-1832287441.jpg) 阅读全文
posted @ 2022-01-07 21:30 ltimaginea 阅读(40) 评论(0) 推荐(0) 编辑
摘要:unique_ptr 拷贝的方法 std::unique_ptr Deep Copy 虽然 std::unique_ptr 删除了 copy constructor 和 copy assignment operator ,但其实我们可以借助解引用操作变通地对 std::unique_ptr 进行拷贝 阅读全文
posted @ 2022-01-07 18:00 ltimaginea 阅读(410) 评论(0) 推荐(0) 编辑
摘要:Static local variable and Global variable Static local variable 对于 static local variable ,在 control 首次经过其声明时才会被初始化(除非其初始化是零初始化或常量初始化,这可以在首次进入块前进行),在其后 阅读全文
posted @ 2022-01-05 18:57 ltimaginea 阅读(608) 评论(0) 推荐(0) 编辑
摘要:Stack Unwinding 当程序抛出一个异常时,程序暂停当前函数的执行过程并立即开始查找(look up)最邻近的与异常匹配的 catch 子句: 如果查找到一个匹配的 catch 子句,异常从它的抛出点开始“向上”传递到匹配的 catch 子句。异常传递过程中,当退出了某些作用域时,该作用域 阅读全文
posted @ 2021-12-12 12:50 ltimaginea 阅读(359) 评论(0) 推荐(0) 编辑
摘要:Visual Studio 2022 配置CMake Build and Debug C++ with WSL 2 Distributions and Visual Studio 2022 - C++ Team Blog (microsoft.com) 阅读全文
posted @ 2021-12-06 17:02 ltimaginea 阅读(2753) 评论(0) 推荐(0) 编辑
摘要:使用 Visual Studio 2022 开发 Linux C++ 应用程序 前置条件: Windows上需要先安装 WSL2,方法见: Install WSL | Microsoft Docs 在 WSL2 中依次执行如下命令,进行安装如下必需软件: sudo apt update && sud 阅读全文
posted @ 2021-11-18 14:17 ltimaginea 阅读(4000) 评论(2) 推荐(0) 编辑
摘要:原始指针 捕获所有异常 避免内存泄漏 原始指针 避免内存泄漏 程序使用 raw pointer 时,资源往往被显式管理(managed explicitly)。以此方式使用 raw pointer 的典型例子是,以 new 和 delete 创建和销毁对象: void Foo() { Widget* 阅读全文
posted @ 2021-10-30 20:52 ltimaginea 阅读(120) 评论(0) 推荐(0) 编辑
摘要:析构函数 destructor 私有析构函数 private destructor 析构函数是 private 时,那么当对象销毁时或对于动态分配的对象,当对指向它的指针应用 delete 运算符时,只有 对象销毁 所处的上下文环境为成员函数体或友元函数体内部时,才能正常调用 private 析构函 阅读全文
posted @ 2021-10-20 17:25 ltimaginea 阅读(740) 评论(0) 推荐(0) 编辑
摘要:C++ 单例模式 Singleton Singleton 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 实现要点 构造函数应该声明为非公有,从而禁止外界创建实例。 拷贝操作和移动操作也应该禁止。 只能通过 Singleton 的公有特定类操作访问它的唯一实例(C++中的一个公有静态成员函数 阅读全文
posted @ 2021-10-12 23:12 ltimaginea 阅读(250) 评论(0) 推荐(0) 编辑
摘要:Google Style Guides Google Style Guides Google 开源项目风格指南 (zh-google-styleguide.readthedocs.io) 阅读全文
posted @ 2021-10-12 21:19 ltimaginea 阅读(102) 评论(0) 推荐(0) 编辑
摘要: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 阅读全文
posted @ 2021-10-03 17:37 ltimaginea 阅读(505) 评论(0) 推荐(0) 编辑
摘要: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 阅读全文
posted @ 2021-10-03 13:34 ltimaginea 阅读(41) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示