<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>LinuxSir.cn，穿越时空的Linuxsir! - C\C++文档</title>
    <link>http://linuxsir.cn/forum.php?mod=forumdisplay&amp;fid=248</link>
    <description>Latest 20 threads of C\C++文档</description>
    <copyright>Copyright(C) LinuxSir.cn，穿越时空的Linuxsir!</copyright>
    <generator>Discuz! Board by Comsenz Inc.</generator>
    <lastBuildDate>Wed, 15 Apr 2026 12:07:33 +0000</lastBuildDate>
    <ttl>60</ttl>
    <image>
      <url>http://linuxsir.cn/static/image/common/logo_88_31.gif</url>
      <title>LinuxSir.cn，穿越时空的Linuxsir!</title>
      <link>http://linuxsir.cn/</link>
    </image>
    <item>
      <title>指向结构的指针</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400076</link>
      <description><![CDATA[与任何其他类型的结构一样，结构可以通过其自己的指针类型指向：

struct movies_t {
  string title;
  int year;
};

movies_t amovie;
movies_t * pmovie;

这里是一个结构类型的对象，并且是指向结构类型的对象的指针。因此，以下代码也有效：amoviemovies_tpmoviem ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Tue, 20 Feb 2024 15:32:45 +0000</pubDate>
    </item>
    <item>
      <title>数据结构</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400075</link>
      <description><![CDATA[数据结构是一组数据元素，在一个名称下组合在一起。这些数据元素（称为成员）可以具有不同的类型和不同的长度。可以使用以下语法在 C++ 中声明数据结构：


其中 是结构类型的名称，可以是具有此结构类型的对象的一组有效标识符。在大括号内，有一个包含数据成员的列表 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Tue, 20 Feb 2024 15:31:53 +0000</pubDate>
    </item>
    <item>
      <title>指针算术</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400074</link>
      <description><![CDATA[对指针进行算术运算与对常规整数类型进行算术运算略有不同。首先，只允许加法和减法运算;其他的在指针的世界里是没有意义的。但是，加法和减法对指针的行为略有不同，具体取决于它们所指向的数据类型的大小。

当引入基本数据类型时，我们看到类型具有不同的大小。例如 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Tue, 20 Feb 2024 15:28:15 +0000</pubDate>
    </item>
    <item>
      <title>声明指针</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400073</link>
      <description><![CDATA[由于指针能够直接引用它所指向的值，因此指针在指向 a 时与指向 an 或 a 时具有不同的属性。取消引用后，需要知道类型。为此，指针的声明需要包含指针将指向的数据类型。

指针的声明遵循以下语法：

其中 是指针指向的数据类型。此类型不是指针本身的类型，而是指针指 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Tue, 20 Feb 2024 15:27:25 +0000</pubDate>
    </item>
    <item>
      <title>初始化以 null 结尾的字符序列</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400072</link>
      <description><![CDATA[因为字符数组是普通数组，所以它们遵循与这些数组相同的规则。例如，要使用一些预定的字符序列初始化一个字符数组，我们可以像任何其他数组一样执行此操作：

1
char myword[] = { \'H\', \'e\', \'l\', \'l\', \'o\', \'\\0\' };

上面声明了一个由 6 个元素组成的数组，这些元素使 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Tue, 20 Feb 2024 15:12:29 +0000</pubDate>
    </item>
    <item>
      <title>存储类</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400071</link>
      <description><![CDATA[具有全局或命名空间范围的变量的存储在程序的整个持续时间内分配。这被称为静态存储，它与局部变量（在块内声明的变量）的存储形成鲜明对比。这些使用所谓的自动存储。局部变量的存储仅在声明局部变量的块期间可用;之后，相同的存储可以用于其他函数的局部变量，或者以 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Tue, 20 Feb 2024 15:11:04 +0000</pubDate>
    </item>
    <item>
      <title>std 命名空间</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400070</link>
      <description><![CDATA[标准 C++ 库的所有实体（变量、类型、常量和函数）都在命名空间中声明。事实上，这些教程中的大多数示例都包含以下行：std

using namespace std;

这将在代码中引入命名空间的所有名称的直接可见性。这些教程中这样做是为了便于理解并缩短示例的长度，但许多程序员更喜 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Tue, 20 Feb 2024 15:10:35 +0000</pubDate>
    </item>
    <item>
      <title>重载函数</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400069</link>
      <description><![CDATA[在 C++ 中，如果两个不同的函数的参数不同，则它们可以具有相同的名称;要么是因为它们具有不同数量的参数，要么是因为它们的任何参数都属于不同的类型。例如：

// overloading functions
#include 
using namespace std;

int operate (int a, int b)
{
  return (a*b) ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Tue, 20 Feb 2024 15:09:05 +0000</pubDate>
    </item>
    <item>
      <title>对在父子类上悬挂指针感到困惑</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400063</link>
      <description><![CDATA[我正在尝试使用基类和派生类来理解悬空指针。

#include 

// Base class
class BaseClass
{
private:
protected:
    int size; // Size of the array

public:
    int *data; // Private array field
    BaseClass(int size) : size(size)
    {
        data = new ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Mon, 19 Feb 2024 14:59:27 +0000</pubDate>
    </item>
    <item>
      <title>使用位操作进行碰撞检测</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400062</link>
      <description><![CDATA[因此，在开发一个小游戏时，我发现通常用于碰撞检测的 if 语句适用于单个方向，但是当我在多个方向上发生碰撞时，例如，在玩家面前检测到碰撞，但如果玩家右侧有可碰撞， 玩家将被允许向右移动到可碰撞中。我发现使用位操作可以非常有效地检测多个方向。下面不是我的游 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Mon, 19 Feb 2024 14:58:40 +0000</pubDate>
    </item>
    <item>
      <title>BSF算法</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400061</link>
      <description><![CDATA[无向图有 24 个顶点，分别用 A\'、B、C\'、D\'、E\'、F\'、G\'、H\'、I\'、J\'、K\'、L\'、M\'、N\'、P\'、Q\'、R\'、S\'、T\'、U\'、V\'、W\'、Y\' 和 Z\' 表示。{M\'， Z\'}， {M\'， Y\'}， {L\'， W\'}， {K\'， V\'}， {J\'， U\'}， {J\'， T\'}， {I\'， S\'}， {H\'， R\'}， {G\'， Q\'}， {F\'， P\'}， { ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Mon, 19 Feb 2024 14:57:46 +0000</pubDate>
    </item>
    <item>
      <title>递归性</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400060</link>
      <description><![CDATA[递归性是函数必须自行调用的属性。它对于某些任务很有用，例如对元素进行排序或计算数字的阶乘。例如，为了获得一个数字（）的阶乘，数学公式将是： 更具体地说，（5的阶乘）将是： 在 C++ 中计算此值的递归函数可以是：

n!n! = n * (n-1) * (n-2) * (n-3) ... * 15!5! ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Mon, 19 Feb 2024 14:55:51 +0000</pubDate>
    </item>
    <item>
      <title>没有类型的函数。void 的使用</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400059</link>
      <description><![CDATA[上面显示的函数语法：


要求声明以类型开头。这是函数返回的值的类型。但是，如果函数不需要返回值呢？在这种情况下，要使用的类型是 ，这是一个特殊类型，用于表示值的缺失。例如，仅打印消息的函数可能不需要返回任何值： type name ( argument1, argument2 ...) { s ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Mon, 19 Feb 2024 14:55:07 +0000</pubDate>
    </item>
    <item>
      <title>字符串流</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400058</link>
      <description><![CDATA[标准标头定义了一种名为的类型，该类型允许将字符串视为流，从而允许以与 和 相同的方式从字符串提取或插入字符串。此功能对于将字符串转换为数值最有用，反之亦然。例如，为了从字符串中提取整数，我们可以编写：stringstreamcincout

string mystr (\&quot;1204\&quot;);
int myin ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Mon, 19 Feb 2024 14:53:53 +0000</pubDate>
    </item>
    <item>
      <title>条件三元运算符 （ ？ ）</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400057</link>
      <description><![CDATA[条件运算符计算表达式，如果该表达式的计算结果为 ，则返回一个值，如果表达式的计算结果为 ，则返回另一个值。其语法为：



如果 是 ，则整个表达式的计算结果为 ，否则计算结果为 。truefalsecondition ? result1 : result2conditiontrueresult1result2

7==5 ? 4 :  ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Mon, 19 Feb 2024 14:52:56 +0000</pubDate>
    </item>
    <item>
      <title>预处理器定义 （#define）</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400056</link>
      <description><![CDATA[命名常量值的另一种机制是使用预处理器定义。它们具有以下形式：



在此指令之后，代码中出现的任何 被解释为 ，其中替换是任意字符序列（直到行尾）。这种替换是由预处理器执行的，并且发生在程序编译之前，从而导致一种盲目替换：所涉及的类型或语法的有效性不会以任 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Mon, 19 Feb 2024 14:52:15 +0000</pubDate>
    </item>
    <item>
      <title>类型演绎：auto 和 decltype</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400055</link>
      <description><![CDATA[初始化新变量时，编译器可以通过初始值设定项自动确定变量的类型。为此，用作变量的类型说明符就足够了：auto


int foo = 0;
auto bar = foo;  // the same as: int bar = foo; 

这里，被声明为具有类型;因此，type of 是用于初始化它的值的类型：在本例中，它使用 的 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Mon, 19 Feb 2024 14:51:27 +0000</pubDate>
    </item>
    <item>
      <title>使用命名空间 std</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400054</link>
      <description><![CDATA[如果您以前看过 C++ 代码，您可能已经看到被使用而不是 .两者都命名同一个对象：第一个对象使用其非限定名称 （），而第二个对象直接在命名空间 （as ） 中限定它。

是标准库的一部分，标准 C++ 库中的所有元素都在所谓的命名空间中声明：命名空间。

为了引用命名空间 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Mon, 19 Feb 2024 14:50:34 +0000</pubDate>
    </item>
    <item>
      <title>托管事件</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400047</link>
      <description><![CDATA[托管事件是数据成员或成员函数。 当与事件一起使用时，委托的返回类型必须符合公共语言规范。 事件处理程序的返回类型必须与委托的返回类型匹配。 有关委托的详细信息，请参阅委托和事件。 如果托管事件是数据成员，则其类型必须是指向委托的指针。

在 .NET Framework  ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Sun, 18 Feb 2024 15:07:16 +0000</pubDate>
    </item>
    <item>
      <title>COM 事件</title>
      <link>http://linuxsir.cn/forum.php?mod=viewthread&amp;tid=400046</link>
      <description><![CDATA[COM 事件是接口。 事件源接口中成员函数的参数应是 in 参数，但不严格强制实施。 这是因为多播时， out 参数不起作用。 如果使用 out 参数，则将发出 1 级警告。

返回类型通常是 HRESULT 或 void，但可以是任何整型，包括 enum。 当事件使用整数返回类型时，并且事件处 ...]]></description>
      <category>C\\C++文档</category>
      <author>一起看海</author>
      <pubDate>Sun, 18 Feb 2024 15:06:47 +0000</pubDate>
    </item>
  </channel>
</rss>