Yuxxxxxxxxxx's Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

C++ std::exception

C++ 语言本身或者标准库抛出的异常都是 exception 的子类,称为标准异常(Standard Exception)。可以通过下面的语句来捕获所有的标准异常: 12345try{ //可能抛出异常的语句}catch(exception &e){ //处理异常的语句} 一、简介 std::exception:标准异常类的基类,其类的声明在头文件
2026-05-16
C++ > 语言特性 > C++11
#C++

VS Code配置Claude Code(通过API方式)

一、前置下载 首先在VS Code中下载扩展 Claude Code for VS Code: Claude Code 在 Windows 上依赖 Git Bash,必须先安装 Git。 下载地址: https://git-scm.com/install/windows 二、通过API平台获取API 由于没有海外信用卡,无法直接使用 Anthropic 官方 API,可以使用国内中转平台。
2026-05-15
工具 > AI
#AI

启用或关闭Windows功能里没有Hyper-V选项

今天在弄 WSL2 的时候有如下报错: 123456PS C:\Users\1> wsl --set-default-version 2当前计算机配置不支持 WSL2。请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution有关信息,请访问 https://aka.ms/ena
2026-05-14
查错记录
#查错记录

C++智能指针

一、什么是智能指针 智能指针就是帮我们 C++ 程序员管理动态分配的内存的,它会帮助我们自动释放 new 出来的内存,从而避免内存泄漏。 下面就是一个内存泄露的例子: 1234567891011121314151617181920212223242526272829303132333435363738394041#include <iostream>#include <stri
2026-05-13
C++
#C++

C++11新特性(二)

一、nullptr 在引入 nullptr 之前,C 和 C++ 使用的都是 NULL,但对于它的定义是不同的: 1234567#ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif#endif 根本原因和 C++ 的重载函数有关。C++ 通过搜索匹配参数的机制,试图找到最佳匹配的函数,而如果
2026-05-11
C++ > 语言特性 > C++11
#C++ #C++11 #语言特性

C++ RAII原理

在 C++ 中,RAII (Resource Acquisition Is Initialization,资源获取即初始化) 是最核心的编程范式之一。它利用 C++ 的对象生命周期管理机制(构造函数与析构函数),实现对资源的自动化管理,从而避免内存泄漏、死锁等问题。 RAII 不是一种特殊的语法,而是 C++ 生命周期机制的一种应用习惯。只要遵循“将资源封装在对象内,并在析构函数中释放资源”这一
2026-05-10
C++ > 内存管理
#C++ #内存管理

C++ type_traits

一、什么是 type_traits type_traits(类型特性) 是一组模板类或函数,用于在编译时期获取或修改类型的信息。例如,你可以定义一个is_same 来检查两个类型是否相同,或者定义一个 remove_const 来去除类型的 const 限定符。 <type_traits> 头文件中包含了一组编译期工具,用于: 查询(Query):检查类型的属性(例如:是整数吗?是
2026-05-09
C++ > 语言特性 > C++11
#C++

C++右值引用

一、左值、右值 1.1 什么是左值、右值 1int a = 5; 简单来说,左值就是等号左边的值,可以取地址,也就是这里的 a;右值就是等号右边的值,不能够取地址,也就是这里的 5。 a 可以通过 & 取地址,位于等号左边,所以 a 是左值 5 位于等号右边,5 没法通过 & 取地址,所以 5 是个右值 再看一个例子: 123456789struct A {
2026-05-08
C++
#C++

C++模板参数推导

一、基本概念 模板参数推导(Template Argument Deduction) 是编译器自动分析函数模板调用时的实参类型,从而确定模板参数的过程。 其核心工作就是当调用一个函数模板时,编译器会尝试将**调用时传入的实参类型(A)与模板定义中的参数类型(P)**进行匹配。 123template <typename T>void func(T param);func(10); /
2026-05-06
C++ > 模板
#C++ #模板

C++模板中的typename

一、class 和 typename 如下例所示: 123456// 以下两种写法完全等价template <typename T>void func(T t) {}template <class T>void func(T t) {} 历史原因:class 是 C++98 引入模板时的关键字,typename 是后来加入的。现在更
2026-04-16
C++ > 模板
#C++ #模板
123456…14

搜索

Hexo Fluid