[这里]给出了如何在C++中使用数据结构的明确示例.1这是链接页面上给出的示例之一:
struct product {
int weight;
float price;
} ;
product apple;
product banana, melon;
Run Code Online (Sandbox Code Playgroud)
但是,我有一个不遵循此模板的代码,我无法理解它.我的内容如下:
struct result : mppp::data::table <
row<semantics::user, int>,
row<semantics::exitdatum, spmm::date>,
row<userid, int>
> {};
Run Code Online (Sandbox Code Playgroud)
我不明白为什么不是结构名称,我们有这么复杂的结构,应该如何理解.而且,我不明白为什么结构的"主体"是空的("{"和"}"之间没有任何内容).
有人可以解释一下吗?
添加
谢谢你的答案.现在更清楚了.的:在上面的例子中是指继承.但所有这些结构意味着什么:aaa<bbb>?
该代码使用继承.您可以指定的基类struct的名字后,以把它们分开:的性格和可能的话,使用的一个public,protected或private限定词指定继承的类型(public如果未指定为默认(*)):
struct A { }; // Fine
struct B : public A { }; // Also fine
struct C : B { }; // Fine again, `public` is assumed by default
struct D : A, B { }; // Also possible (multiple inheritance)
struct E { };
struct F : public E, private D { } // Qualifiers can differ
struct : A, F { } obj; // structs can be anonymous
Run Code Online (Sandbox Code Playgroud)
在您的情况下,基类是模板的实例:
template<typename T>
struct X { };
struct Y : X<A> { }; // Fine
Run Code Online (Sandbox Code Playgroud)
class类型的继承,但默认情况下假设是private这种情况.