在C++中通常用某种前缀命名成员变量来表示它们是成员变量而不是局部变量或参数.如果你来自MFC背景,你可能会使用m_foo.我myFoo偶尔也见过.
C#(或者可能只是.NET)似乎建议只使用下划线,如_foo.这是否允许C++标准?
谁能帮我理解#pragma?
ifndef TARGET_OS_LINUX
#pragma once
endif
Run Code Online (Sandbox Code Playgroud)
什么,何时,何地,为什么,一个例子?
以上是我正在重构的一些代码....
可能重复:
#pragma - 帮助理解
我看过pragma很多次,但总是很困惑,任何人都知道它的作用?它只是窗户吗?
我有这样的C++文件
#ifndef _MOVE_H
#define _MOVE_H
class Move {
int x, y;
public:
Move(int initX = 0, int initY = 0) : x(initX), y(initY) {}
int getX() { return x; }
void setX(int newX) { x = newX; }
int getY() { return y; }
void setY(int newY) { y = newY; }
};
#endif
Run Code Online (Sandbox Code Playgroud)
很让我惊讶,所有的代码#ifndef,并#endif简单地由编译器(我发誓,我没有界定忽视_MOVE_H其他地方),我有失踪定义的各种错误.我在想我做错了什么,但是当我尝试使用另一个键时(比如_MOVE_Ha,一切都恢复正常.这是否_MOVE_H意味着C++中的一些特殊内容?
我正在运行Ubuntu 10.04,GCC 4.4.3,如果这很重要的话.
谢谢,