<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Tadecanlan的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Tadecanlan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Tadecanlan]]></copyright><item><title><![CDATA[[C++面试] 基础题 11~20]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/148193926</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/148193926</guid><author>Tadecanlan</author><pubDate>Sat, 24 May 2025 18:32:28 +0800</pubDate><description><![CDATA[构造函数用于对象的创建，不同场景可能需要不同的初始化参数。语法上：构造函数与类名相同且，但允许参数列表不同。C++标准规定析构函数析构函数在对象销毁时由编译器，且。若允许重载，编译器无法确定应调用哪个版本。析构函数的核心职责是​（如内存、文件句柄等），通常需要统一的清理逻辑。若需差异化处理，应通过成员变量状态控制，而非重载。]]></description><category></category></item><item><title><![CDATA[[C++面试] 基础题 1~10]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/148151045</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/148151045</guid><author>Tadecanlan</author><pubDate>Thu, 22 May 2025 23:00:34 +0800</pubDate><description><![CDATA[若派生类定义了与基类同名但参数不同的函数（无论基类是否为虚函数），基类函数会被隐藏，而非覆盖。关键字，强制检查派生类函数是否真正覆盖基类虚函数，避免因参数不匹配导致的隐藏错误。内（如同一个类中），允许存在多个同名函数，但。​（派生类与基类之间），派生类重新定义基类的。这会导致编译错误，提示重复定义了同一个函数。参数类型、个数、顺序（容易忽略）​（参数类型、个数或顺序不同）]]></description><category></category></item><item><title><![CDATA[[C++面试] const相关面试题]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/148041936</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/148041936</guid><author>Tadecanlan</author><pubDate>Sun, 18 May 2025 23:40:49 +0800</pubDate><description><![CDATA[constconst。]]></description><category></category></item><item><title><![CDATA[[C++面试] lambda面试点]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/147858200</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/147858200</guid><author>Tadecanlan</author><pubDate>Thu, 15 May 2025 23:37:40 +0800</pubDate><description><![CDATA[Lambda 是 C++11 引入的匿名函数对象，用于创建轻量级的可调用对象。[捕获列表] (参数列表) mutable（可选） 异常声明（可选） -> 返回类型（可选） { 函数体 }部分是否必须说明捕获列表[]必须不可省略，定义变量捕获方式函数体{}必须不可为空（但可为空语句[]{}参数列表()可选若无参数可省略mutable可选仅在需修改按值捕获的变量时使用返回类型->可选多语句或复杂逻辑时需显式指定异常声明可选极少使用，如。]]></description><category></category></item><item><title><![CDATA[jthread是否可以完全取代thread？]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/147621683</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/147621683</guid><author>Tadecanlan</author><pubDate>Tue, 29 Apr 2025 23:43:22 +0800</pubDate><description><![CDATA[头文件里的一个命名空间，它提供了一系列用于操作当前线程的实用函数。当需要将线程句柄传递给其他对象管理时（如线程池），的自动析构行为可能引入意外开销。向线程发送停止请求，线程内部可检查。此函数可让当前线程休眠指定的时长。避免手动设计线程退出标志（如。的移动语义更直接，而。返回当前线程的唯一标识符。]]></description><category></category></item><item><title><![CDATA[[C++面试] 初始化相关面试点深究]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/147079775</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/147079775</guid><author>Tadecanlan</author><pubDate>Wed, 09 Apr 2025 22:55:11 +0800</pubDate><description><![CDATA[int x;拷贝初始化—— 有赋值符int y = 5;​int z(6);int a{7};]]></description><category></category></item><item><title><![CDATA[[C++面试] C++中各类括号的差异：[]、{}、＜＞、()]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/147054564</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/147054564</guid><author>Tadecanlan</author><pubDate>Mon, 07 Apr 2025 23:48:02 +0800</pubDate><description><![CDATA[()[]{}<>]]></description><category></category></item><item><title><![CDATA[[C++面试] explicit关键字面试点总结]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/147014212</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/147014212</guid><author>Tadecanlan</author><pubDate>Sat, 05 Apr 2025 23:17:17 +0800</pubDate><description><![CDATA[explicitGoogle C++规范建议所有单参数构造函数必须加explicit，除非明确需要隐式转换（如从构造）。]]></description><category></category></item><item><title><![CDATA[C++书籍推荐1：C++进阶心法]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/147013795</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/147013795</guid><author>Tadecanlan</author><pubDate>Sat, 05 Apr 2025 17:56:05 +0800</pubDate><description><![CDATA[书籍以C语言基础为起点（如指针、数组、volatile关键字等），逐步深入C++核心机制，包括内存管理、面向对象编程、异常处理、C++11/14新标准（如右值引用、移动语义）等。个人觉得，有一定的深度，但存在极少部分内容的准确性待商榷。可以看看作者列出的点，加深、巩固。《C++进阶心法》由吕吕、王琥合著，北京航空航天大学出版社于2019年出版。]]></description><category></category></item><item><title><![CDATA[[C++面试] 如何在特定内存位置上分配内存、构造对象]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/147009665</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/147009665</guid><author>Tadecanlan</author><pubDate>Sat, 05 Apr 2025 16:15:52 +0800</pubDate><description><![CDATA[new面试-高阶题（可以主动讲给面试官），适用于内存池、高性能场景或需要精确控制内存布局的编程需求。]]></description><category></category></item><item><title><![CDATA[[C++面试] new、delete相关面试点]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/147000462</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/147000462</guid><author>Tadecanlan</author><pubDate>Fri, 04 Apr 2025 23:07:30 +0800</pubDate><description><![CDATA[​（如访问野指针，引发崩溃）]]></description><category></category></item><item><title><![CDATA[[C++面试] 智能指针面试点（重点）续4]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/146924288</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/146924288</guid><author>Tadecanlan</author><pubDate>Tue, 01 Apr 2025 23:13:04 +0800</pubDate><description><![CDATA[允许转换的方向unique_ptr→shared_ptr（通过移动语义）。​禁止转换的方向shared_ptr→unique_ptr之间仅允许右值移动赋值；unique_ptr可通过右值（如std::move或临时对象）赋值给shared_ptr，但左值不行。]]></description><category></category></item><item><title><![CDATA[[C++面试] 智能指针面试点（重点）续3]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/146764953</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/146764953</guid><author>Tadecanlan</author><pubDate>Sun, 30 Mar 2025 23:46:02 +0800</pubDate><description><![CDATA[reset()在中，其核心作用是 ​释放当前管理的资源​（若存在），并可以选择绑定新的资源。step1：若unique_ptr当前持有资源（即非空指针），调用reset()会立即通过delete或自定义删除器释放该资源step2：若reset()接受参数（如），则释放旧资源后，unique_ptr会接管新资源的所有权// 释放原资源（int(4)），绑定新资源（int(20)）// 初始绑定资源（值为4的int对象）// 释放资源并置空，不再绑定任何资源执行后状态，表示无资源绑定。原资源。]]></description><category></category></item><item><title><![CDATA[[C++面试] 智能指针面试点（重点）续2]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/146676770</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/146676770</guid><author>Tadecanlan</author><pubDate>Sun, 30 Mar 2025 11:52:15 +0800</pubDate><description><![CDATA[[C++面试] RAII资源获取即初始化（重点）-优快云博客[C++面试] 智能指针面试点（重点）-优快云博客[C++面试] 智能指针面试点（重点）续1-优快云博客智能指针（如和）不支持直接的加减操作。这是因为智能指针的设计目标是安全地管理资源所有权，而非像原始指针那样进行内存地址的算术运算。五法则（Rule of Five）是指：当一个类需要自定义析构函数、拷贝构造函数或拷贝赋值运算符时，通常也需要自定义移动构造函数和移动赋值运算符 是一种独占式智能指针，同一时间只能有一个  指向某个对象。为了保证]]></description><category></category></item><item><title><![CDATA[[C++面试] 智能指针面试点（重点）续1]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/146640297</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/146640297</guid><author>Tadecanlan</author><pubDate>Sat, 29 Mar 2025 11:44:16 +0800</pubDate><description><![CDATA[默认删除器：使用delete释放对象，无法处理非堆内存（如文件句柄）。自定义删除器：可释放任意资源（如文件、网络连接），且不影响引用计数的线程安全。// 自定义删除器释放文件句柄});]]></description><category></category></item><item><title><![CDATA[[C++面试] 智能指针面试点（重点）]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/146573563</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/146573563</guid><author>Tadecanlan</author><pubDate>Thu, 27 Mar 2025 23:45:09 +0800</pubDate><description><![CDATA[C++面试] RAII资源获取即初始化（重点）-优快云博客智能指针是一种类模板，用于管理动态分配的内存，能在对象生命周期结束时自动释放内存，避免内存泄漏。在传统的 C++ 中，使用new分配内存后，必须手动使用delete释放，若忘记或在异常情况下未执行delete，就会导致内存泄漏。而智能指针利用 C++ 的 RAII（资源获取即初始化）技术，在对象构造时获取资源，在析构时释放资源，大大提高了代码的安全性。// 当 ptr 离开作用域时，内存会自动释放return 0;]]></description><category></category></item><item><title><![CDATA[[C++面试] RAII资源获取即初始化（重点）]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/146542988</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/146542988</guid><author>Tadecanlan</author><pubDate>Wed, 26 Mar 2025 23:18:27 +0800</pubDate><description><![CDATA[RAII（Resource Acquisition Is Initialization，资源获取即初始化）是 C++ 的核心编程范式，核心思想是 ​。]]></description><category></category></item><item><title><![CDATA[[C++面试] span＜char＞和string_view的差别]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/146540866</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/146540866</guid><author>Tadecanlan</author><pubDate>Wed, 26 Mar 2025 21:35:00 +0800</pubDate><description><![CDATA[​2、string_view


	 仅限字符类型，隐式假设数据为字符串（如自动处理空终止符）
	 提供字符串专用方法，如 （截取子串）、（查找字符 / 子串）、（判断是否以某子串开头）等，完全围绕字符串语义设计，适合字符串处理
	 存储指针和字符数，可能包含空终止符标记
	 可能因隐式空终止符导致边界检查开销
	 因隐式绑定字符类型，可能因误用非字符串数据（如二进制数据）导致未定义行为





​3、span


	 无类型限制，需显式指定数据类型，支持泛型编程（如处理二进制缓冲区）
	 提供通用序列操]]></description><category></category></item><item><title><![CDATA[[C++面试] 你了解视图吗？]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/146514691</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/146514691</guid><author>Tadecanlan</author><pubDate>Tue, 25 Mar 2025 23:20:43 +0800</pubDate><description><![CDATA[它提供了对序列（如数组、容器等）的非拥有性、只读或可写的访问。（就像是个透明的放大镜，它能让你去看一组数据，但它自己不拥有这些数据。避免数据的复制，提高性能。提供统一的接口来处理不同类型的序列。实现延迟计算，只有在需要时才进行实际的数据处理。// 创建一个视图，它是对numbers向量的一个抽象表示return 0;在这个例子中，创建了一个视图，它包含了numbers向量中的所有元素。通过视图可以遍历这些元素，而不需要复制数据。继承类，以确保视图符合视图的接口要求。]]></description><category></category></item><item><title><![CDATA[[C++面试] 你了解transform吗？]]></title><link>https://blog.youkuaiyun.com/Tadecanlan/article/details/146488634</link><guid>https://blog.youkuaiyun.com/Tadecanlan/article/details/146488634</guid><author>Tadecanlan</author><pubDate>Mon, 24 Mar 2025 23:45:27 +0800</pubDate><description><![CDATA[transform。]]></description><category></category></item></channel></rss>