第一次在这里发帖,我是C++编程的初学者,学习它主要是因为我想知道它,因为它总是很有趣,因为它是如何工作的等等.
我正在尝试使用SFML 2.0制作一个简单的游戏,我的问题是:
我有一个枚举,例如:
enum GameState
{
Menu,
Battle,
Map,
SubMenu,
Typing
};
Run Code Online (Sandbox Code Playgroud)
所以,我想制作一个这样的变量,使用
GameState State = Menu;
Run Code Online (Sandbox Code Playgroud)
然后,将其传递给另一个文件
extern GameState State;
Run Code Online (Sandbox Code Playgroud)
但我得到错误
error: 'GameState' does not name a type
Run Code Online (Sandbox Code Playgroud)
如何将枚举传递给另一个文件?我试图通过将它作为main.cpp中的全局变量,然后将其包含在另一个文件的头中来实现.
我想知道是否可能返回"奇怪"的字符,或者更确切地说是对语言很重要的字符
.例如:\; '
我想知道,因为我需要通过一个检查文本键的unicode值的函数返回它们,然后通过它的数字返回字符,我也需要它们.
我得到一个356 |错误:缺少终止'字符
行356看起来如下
return '\';
Run Code Online (Sandbox Code Playgroud)
想法?
我有一个线程(升压::线程)的正确使用的问题
我想有X线程在同一时间,像这样运行相同的功能
while( true )
server.run();
Run Code Online (Sandbox Code Playgroud)
这是我目前编程的方式,这是运行功能
void server::run()
{
std::vector<boost::thread*> threads;
for(std::size_t i = 0; i < threadPool; ++i)
{
threads.push_back( new boost::thread( boost::bind(&seed::server::pollEvent,this) ) );
}
for( auto & x : threads )
x->join();
for( auto & x : threads )
x->detach();
for( auto & x : threads )
delete x;
}
Run Code Online (Sandbox Code Playgroud)
但是,这种不断用起来比较多的RAM,在开始大约20MB的和去成无限大,我的问题是,什么是这个正确的方法呢?
使用SFML的线程时不会发生此问题.(CPU使用率略高,但不会占用每个线程的ram,它们被正确清除)
我想知道是否有可能(以及如果,如何)创建一个X值指针
现在,让我说我知道哪些类型可以在这个指针中分配.
例如,一个X值的指针(当然可以随意更改此值的名称),它可以指向string,bool和自定义类的变量