下面的C++代码行是什么意思
What does the following C++ line of code mean?
以下代码块取自实现队列的C++程序。我知道结构、类和指针等,但我不经常使用结构,所以它让我很难理解*front = NULL,*rear = NULL,*p = NULL,*np = NULL;
的含义。是否声明了这些节点类型指针,并将其设置为默认值NULL?如果我错了,请纠正我,并友好地解释。
struct node
{
int data;
node *next;
}*front = NULL,*rear = NULL,*p = NULL,*np = NULL;
它与相同
struct node
{
int data;
node *next;
};
node *front = NULL, *rear = NULL, *p = NULL, *np = NULL;
意思与此相同:
struct node
{
int data;
node *next;
};
node *front = NULL;
node *rear = NULL;
node *p = NULL;
node *np = NULL;
而且这绝对不是一个好的风格。
顺便说一句,如果node
是一个类,这也会起作用。结构基本上是一个类,默认情况下所有元素都是公共的。
另一个建议是:C++11有一个用于初始化指针的特定关键字nullptr
。这更清楚地表达了正在发生的事情。NULL
只是一个扩展到0的预处理器宏。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思