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,然后使用您介绍的宏创建它们的列表。你能给我写一个你解释的完整例子吗?