C++ 用字符串连接我的对象

C++ 用字符串连接我的对象,c++,C++,我被这个例子困住了: #define Listof(Type) class Type##List \ { \ public: \ Type##List(){} \ private: \ int itsLength; \ }; 有人能解释一下这个例子的意图和意义吗?因为我在一本书中找到了这个示例,但没有对其进行解释。当使用类似以下Listof(MyTypeName) 它是创建名为XXLIST的类的快捷方式,该类使用默认的CTOR和成员itsLength声明 代

我被这个例子困住了:

#define Listof(Type) class Type##List \
   { \
   public: \
   Type##List(){} \
   private: \
   int itsLength; \
   };

有人能解释一下这个例子的意图和意义吗?因为我在一本书中找到了这个示例,但没有对其进行解释。

当使用类似以下
Listof(MyTypeName)

它是创建名为XXLIST的类的快捷方式,该类使用默认的CTOR和成员itsLength声明

代码中的示例:

//declare a class 
Listof(A)
在预处理器之后,这是

class AList{ 
public:
   AList(){}
private: 
int itsLength; 
};

ideam是在使用以下宏时创建一个类MyTypeNameList
Listof(MyTypeName)

它是创建名为XXLIST的类的快捷方式,该类使用默认的CTOR和成员itsLength声明

代码中的示例:

//declare a class 
Listof(A)
在预处理器之后,这是

class AList{ 
public:
   AList(){}
private: 
int itsLength; 
};
它是一个,这个特殊的扩展到一个类的定义,例如

Listof(String)
将扩展到:

class StringList
{
  public:
    StringList(){}

  private:
    int itsLength;
}
这意味着在代码中使用宏的任何地方都与编写类本身相同。

它是一个,例如,这个特定的宏扩展为类的定义

Listof(String)
将扩展到:

class StringList
{
  public:
    StringList(){}

  private:
    int itsLength;
}

这意味着代码中使用宏的任何地方都与编写类本身相同。

扔掉那本书,它教会了你一些不好的东西——这基本上是一种可怕的使用宏来完成模板设计的方法。书中说,这个例子只是为了展示宏的使用,它说下一种方法是模板。我现在需要的只是知道如何操作这个例子。任何帮助都是非常感激的好吧,我想这很公平。尽管如此,在生产代码中永远不要这样做-它比基于模板的等效代码更脆弱、更不灵活。扔掉那本书,它教会了你一些不好的东西——这基本上是一种可怕的使用宏来完成模板设计的方法。书中说,这个例子只是为了展示宏的使用,它说下一种方法是模板。我现在需要的只是知道如何操作这个例子。任何帮助都是非常感激的好吧,我想这很公平。不过,千万不要在生产代码中这样做——它比基于模板的等效代码更脆弱、更不灵活。你能解释一下吗?你能举个例子吗?你能解释一下吗?你能举个例子吗?嘿,安吉尔,我自己试过这个例子,但我又卡住了。你能提供一个详细的例子吗???感谢您花费的时间和精力演示您被卡住了吗?您想做什么?只想创建两个类CAR和TRAIN,然后使用您介绍的宏创建它们的列表。你能给我写一个你解释的完整的例子吗?嘿,安吉尔,我自己试过这个例子,但我又卡住了。你能提供一个详细的例子吗???感谢您花费的时间和精力演示您被卡住了吗?您想做什么?只想创建两个类CAR和TRAIN,然后使用您介绍的宏创建它们的列表。你能给我写一个你解释的完整例子吗?