使用 Visual Studio 2013 和 C++ 编译器编写另一个链表,并在此过程中反复试验。这是特定于 Visual C++ 还是标准的一部分?
我真的很喜欢这种语法。它超级干净。如果您在不知不觉中编写了一个链表库,您可以四处寻找指针,直到您的大脑陷入困境。这个语法虽然很清楚。
很多这些东西都有静态初始化值,但是使用函数 args 作为初始化?还没有看到那个。
很高兴知道GCC C/C++ 编译器是否产生了预期的结果。任何人?
typedef struct link_in_list {
struct link_in_list *next;
int32_t key;
int32_t value;
} LINK, *pLINK;
// ----------------------------------------------------------------------------
pLINK prepend_list(pLINK head, int32_t key, int32_t value)
{
if (NULL == head) {
// initialize with a constant, variable, and expression
return new LINK{ NULL, key, (key * key) };
} else {
// initialize with stack variables
return new LINK{ head, key, value };
}
}