Checking if a directory exists in Unix (system call)

I am not able to find a solution to my problem online. I would like to call a function in Unix, pass in the path of a directory, and know if it exists. opendir() returns an error if a directory does not exist, but my goal is not to actually open, check the error, close it if no error, but rather just check if a file is a directory or not. Is there any convenient way to do that please? Ther

检查Unix中是否存在目录(系统调用)

我无法在网上找到解决我的问题的方法。 我想在Unix中调用一个函数,传递一个目录的路径,并知道它是否存在。 如果一个目录不存在, opendir()返回一个错误,但是我的目标不是实际打开,检查错误,如果没有错误,关闭它,而只是检查一个文件是否是一个目录。 请问有什么方便的方法吗? 在POSIX系统上有两个相关的函数:stat()和lstat()。 这些用于查明路径名是否引用您有权访问的实际对象,如果是,则返回的数据会告

Type "char" in C++

Is there an easy way to convert between char and unsigned char if you don't know the default setting of the machine your code is running on? (On most architectures, char is signed by default and thus has a range from -128 to +127 . On some other architectures, such as ARM, char is unsigned by default and has a range from 0 to 255) I am looking for a method to select the correct signedness or

在C ++中键入“char”

如果你不知道你的代码运行的机器的默认设置,有没有简单的方法在char和unsigned char之间进行转换? (在大多数体系结构中, char是默认签名的,因此它的范围是-128到+127 。在其他一些体系结构(如ARM)中,默认情况下, char是无符号的,范围从0到255)我正在查找方法来选择正确的符号或在两者之间进行透明转换,最好是不涉及太多步骤的转换,因为我需要为数组中的所有元素执行此操作。 使用预处理器定义将允许在我的代码开

In C++, what is the difference between a method and a function

Possible Duplicate: What is the difference between a method and a function I'm trying to get my terminology correct. What is the difference between a method and a function, in regards to C++ specifically. Is it that a method returns nothing and just preforms operations on its class; while a function has a return value? As far as the C++ standard is concerned, there is no such thing

在C ++中,方法和函数之间有什么区别

可能重复: 方法和函数之间有什么区别? 我试图让我的术语正确。 特别是关于C ++,方法和函数之间有什么区别。 是不是一个方法不返回,只是在它的类上执行操作; 而一个函数有一个返回值? 就C ++标准而言,没有像“方法”那样的东西。 该术语用于其他OO语言(例如Java)以引用类的成员函数。 在常见用法中,你会发现大多数人会或多或少地交替使用“方法”和“功能”,尽管有些人会将“方法”用于成员函数(与“自由函数”不

Accessing non static members inside static method via passed pointer

Not the actual code, but a representation: I need to initiate a thread from one of my member functions and I do that this way: return_val = pthread_create(&myThread, NULL, myStaticMethod, (void*)(this)); i) I pass this as an argument because static methods do not allow non-static members to be accessed, and since I have non-static methods and members to access inside the static method. I

通过传入的指针访问静态方法内的非静态成员

不是实际的代码,而是一种表示: 我需要从我的一个成员函数启动一个线程,我这样做: return_val = pthread_create(&myThread, NULL, myStaticMethod, (void*)(this)); i)我将此作为参数传递,因为静态方法不允许非静态成员被访问,并且因为我有非静态方法和成员来访问静态方法。 这是正确的吗? 或者,还有其他的选择吗? myStaticMethod(void* args) { args->myPublicMethod(); //Is this legal and val

Memory static function vs member function

class A (say), having all static member functions only class B(say) having only member functions If i create 1000 instances of class A. As the class contains only static member functions, the memory do not increase even if there are 1 instance or 1000 instances. However, for class B. If i create 1000 instances, will there be an increase of memory (even the slightest, may be a pointer for each

内存静态函数与成员函数

类A(说),具有所有静态成员函数只有类B(说)只有成员函数 如果我创建1000个A类实例。由于类只包含静态成员函数,因此即使存在1个实例或1000个实例,内存也不会增加。 但是,对于B类。如果我创建1000个实例,是否会增加内存(即使是最轻微的,可能是指向成员函数集的每个对象的指针)? 如果不是,那么编译器如何保存跟踪特定对象的成员函数信息? 对于初学者,你可以尝试输出sizeof(A)和sizeof(B) 。 但有几件事要牢

C++ static constant string (class member)

I'd like to have a private static constant for a class (in this case a shape-factory). I'd like to have something of the sort. class A { private: static const string RECTANGLE = "rectangle"; } Unfortunately I get all sorts of error from the C++ (g++) compiler, such as: ISO C++ forbids initialization of member 'RECTANGLE' invalid in-class initialization of static da

C ++静态常量字符串(类成员)

我想要一个类的私有静态常量(在这种情况下是一个形状工厂)。 我想有这样的事情。 class A { private: static const string RECTANGLE = "rectangle"; } 不幸的是,我得到了C ++(g ++)编译器的各种错误,比如: ISO C ++禁止成员'RECTANGLE'的初始化 非整型类型'std :: string'的静态数据成员的无效类内初始化 错误:使'RECTANGLE'静态 这告诉我这种成员设计不符合标准。 你如

What is the lifetime of a static variable in a C++ function?

If a variable is declared as static in a function's scope it is only initialized once and retains its value between function calls. What exactly is its lifetime? When do its constructor and destructor get called? void foo() { static string plonk = "When will I die?"; } PS For those who want to know why I asked the question if I already knew the answer? The lifetime of function sta

什么是C ++函数中静态变量的生命周期?

如果一个变量在函数的作用域中被声明为static ,那么它只会被初始化一次,并在函数调用之间保留它的值。 它的一生究竟是什么? 它的构造函数和析构函数何时被调用? void foo() { static string plonk = "When will I die?"; } PS对于那些想知道我为什么问这个问题,我是否已经知道答案的人? 函数static变量的生存期从程序流遇到声明的第一次[0]开始,并在程序结束时结束。 这意味着运行时必须执行一些记录,以便

How to initialize private static members in C++?

What is the best way to initialize a private, static data member in C++? I tried this in my header file, but it gives me weird linker errors: class foo { private: static int i; }; int foo::i = 0; I'm guessing this is because I can't initialize a private member from outside the class. So what's the best way to do this? The class declaration should be in the header fi

如何初始化C ++中的私有静态成员?

在C ++中初始化私有静态数据成员的最佳方法是什么? 我在我的头文件中试过,但它给我奇怪的链接器错误: class foo { private: static int i; }; int foo::i = 0; 我猜这是因为我无法从课堂外初始化私人成员。 那么做这件事的最好方法是什么? 类声明应该在头文件中(或者如果不共享,则在源文件中)。 文件:foo.h class foo { private: static int i; }; 但初始化应该在源文件中。 文件

Collision Avoidance using ogre3 on visual 2010

我与ogre3d和visual 2010一起工作,我有两个机器人彼此相邻走路的实现避免碰撞的问题,我想:第一个机器人停下来,athor继续走,然后第一个机器人走。 The most simple way of doing it with Ogre is checking intersection between your Entities' axis aligned bounding boxes. For example: Ogre::Entity *robot1(NULL), *robot2(NULL); Ogre::AnimationState* move_anim(NULL); Ogre::Real stop_t_s(0.0f); v

在visual 2010上使用ogre3避免碰撞

我与ogre3d和visual 2010一起工作,我有两个机器人彼此相邻走路的实现避免碰撞的问题,我想:第一个机器人停下来,athor继续走,然后第一个机器人走。 使用Ogre最简单的方法是检查实体的轴对齐边界框之间的交集。 例如: Ogre::Entity *robot1(NULL), *robot2(NULL); Ogre::AnimationState* move_anim(NULL); Ogre::Real stop_t_s(0.0f); void app::init() { robot1 = scene_mgr_->createEntity("robot.mesh")

Ogre game programming using TDD

I'd like to ask you if it's worth it to use the TDD concept while creating a 3D game in C++ with Ogre? I know I can use it while creating my algorithms (like path-finding, AI, paging, etc.) and the game logic, but can it be used to test the drawing side? I mean if the proper objects are drawn, if the proper animation is set & used and a lot of other "things" that I don'

使用TDD的Ogre游戏编程

我想问你,在使用Ogre创建C ++ 3D游戏时,是否值得使用TDD概念? 我知道我可以在创建我的算法(如路径寻找,AI,分页等)和游戏逻辑时使用它,但是它可以用于测试绘图端吗? 我的意思是,如果正确的对象被绘制,如果设置和使用适当的动画,还有很多我不想枚举的其他“事物”。 我一直在寻找它几天,但我还没有找到我能接受的答案。 基本上哪个部分的游戏开发应该使用TDD完成,哪部分不是? 3D游戏开发是否需要TDD? Ogre使