<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[imagination_v的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/imagination_v</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; imagination_v]]></copyright><item><title><![CDATA[c++中使用do { } while (0)宏定义]]></title><link>https://blog.youkuaiyun.com/imagination_v/article/details/139501034</link><guid>https://blog.youkuaiyun.com/imagination_v/article/details/139501034</guid><author>imagination_v</author><pubDate>Thu, 06 Jun 2024 15:05:12 +0800</pubDate><description><![CDATA[在C++中，使用宏定义是一种常见的技巧，用于创建类似函数的宏。这种宏结构可以避免许多常见的宏定义问题，如意外的行为或语法错误。]]></description><category></category></item><item><title><![CDATA[C++中仿函数和普通函数进行谓词操作各自的优缺点]]></title><link>https://blog.youkuaiyun.com/imagination_v/article/details/139417360</link><guid>https://blog.youkuaiyun.com/imagination_v/article/details/139417360</guid><author>imagination_v</author><pubDate>Mon, 03 Jun 2024 15:57:44 +0800</pubDate><description><![CDATA[仿函数适用于需要携带状态或者需要更多类型安全和可组合性的情况。它们在需要定义复杂的条件或多次复用时非常有用。普通函数则适用于简单、一次性、无状态的操作，尤其在结合lambda表达式使用时更加简洁和灵活。如果你需要一个简单的、一次性的检查，使用普通函数或lambda表达式。如果你需要携带状态，或者需要一个可以复用的、复杂的检查逻辑，使用仿函数。]]></description><category></category></item><item><title><![CDATA[c++11,为什么更建议使用std::move？]]></title><link>https://blog.youkuaiyun.com/imagination_v/article/details/139355967</link><guid>https://blog.youkuaiyun.com/imagination_v/article/details/139355967</guid><author>imagination_v</author><pubDate>Fri, 31 May 2024 16:28:01 +0800</pubDate><description><![CDATA[std::move是启用移动语义的工具，通过将左值转换为右值引用，使对象资源能够有效地转移，而不是复制。它是现代 C++ 中优化性能的重要手段之一。]]></description><category></category></item><item><title><![CDATA[【C++学习笔记01】黑马-通讯录管理系统]]></title><link>https://blog.youkuaiyun.com/imagination_v/article/details/137047443</link><guid>https://blog.youkuaiyun.com/imagination_v/article/details/137047443</guid><author>imagination_v</author><pubDate>Tue, 26 Mar 2024 15:19:18 +0800</pubDate><description><![CDATA[【代码】【C++学习笔记01】黑马-通讯录管理系统。]]></description><category></category></item><item><title><![CDATA[用constexpr代替#define]]></title><link>https://blog.youkuaiyun.com/imagination_v/article/details/136903552</link><guid>https://blog.youkuaiyun.com/imagination_v/article/details/136903552</guid><author>imagination_v</author><pubDate>Thu, 21 Mar 2024 11:50:38 +0800</pubDate><description><![CDATA[定义的常量具有作用域，只在其定义的范围内有效，这样可以避免命名冲突并且更容易理解和维护代码。创建的是宏，它们没有类型信息，并且只是简单地进行文本替换，这可能导致类型错误或意外的行为。并且在 C++11 中，constexpr 可以用于指定数组的大小，这在编译时会更加安全。创建的宏在预处理阶段被替换为文本，这可能导致代码的可读性下降，并且调试器可能无法识别。因此，当需要定义编译时确定的常量或常量表达式函数时，应该优先选择 constexpr。更适合用于在编译时确定常量值的情况，从而提高程序性能和安全性。]]></description><category></category></item><item><title><![CDATA[蓝桥杯 2018 全体变暖]]></title><link>https://blog.youkuaiyun.com/imagination_v/article/details/105283732</link><guid>https://blog.youkuaiyun.com/imagination_v/article/details/105283732</guid><author>imagination_v</author><pubDate>Fri, 03 Apr 2020 00:56:17 +0800</pubDate><description><![CDATA[标题：全球变暖
你有一张某海域NxN像素的照片，".“表示海洋、”#"表示陆地，如下所示：
…
.##…
.##…
…##.
…####.
…###.
…
其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。
由于全球变暖导致了海面上升，科学家预测未来几十年，岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋)，它就会被...]]></description><category></category></item></channel></rss>