任何好的教程可以帮助我创建用于在 C、C++ 中随机化的头文件 [关闭]

Posted

技术标签:

【中文标题】任何好的教程可以帮助我创建用于在 C、C++ 中随机化的头文件 [关闭]【英文标题】:Any good tutorials to help me to create header files for randomizing in C, C++ [closed] 【发布时间】:2008-12-30 19:19:00 【问题描述】:

我想为 C、C++ 创建一个头文件,专门用于帮助随机化。

【问题讨论】:

请详细说明您的问题。头文件将如何帮助您解决问题? 我不确定我是否理解您的问题。如果可以,您可能会发现阅读catb.org/~esr/faqs/smart-questions.html 会有所帮助 我的印象是英语不是这个人的第一语言,所以那些对他的问题投反对票的人可能想给他(或她)一点懈怠。 @kasperasky:请您澄清您的问题。您没有提供足够的信息让我们了解您的要求,当这种情况发生时,不耐烦的人会否决您。 【参考方案1】:

头文件是 C 文件,除了它们不应包含任何代码实现(仅声明)。

例如,假设 C 文件“dummy.c”:

int dummy_function(int x)
   return x+1;

一个好的 C 头文件应该是:

#ifndef _DUMMY_HEADER_H_
#define _DUMMY_HEADER_H_ //This helps solve some possible errors

int dummy_function(int x);

#endif

如果你使用结构作为参数(或返回值),你应该把它们的声明放在标题中。

typedef struct  int value;  myStruct;
int dummy_function(myStruct* x)
   return (*x).value+1;

相反,你应该写

#include "dummy.h"
int dummy_function(myStruct* x)
   return (*x).value+1;

并创建以下头文件:

#ifndef _DUMMY_HEADER_H_
#define _DUMMY_HEADER_H_

typedef struct int value;  myStruct;
int dummy_function(myStruct* x);

#endif

一个好的头文件本身应该是有效的(包括它需要的所有'#include'语句)。

所以,如果你的代码是“double myRandom()”函数的实现,你应该写这个头文件:

#ifndef _HEADER_NAME_
#define _HEADER_NAME_

double myRandom(void);  /* Can omit void in C++, but not in C */

#endif

如果这不是您的问题,那么请指定更好。

【讨论】:

我在函数声明(以及数据声明)上使用 extern,主要是为了两者之间的一致性。然后,任何不是 typedef(或枚举类型定义)或 extern 声明的东西都是可疑的。【参考方案2】:

我仍然不确定我是否理解你的问题(我对你的问题发表了评论),但答案可能是这样的:

#include <stdlib.h> /* required for rand() and srand() */

如果您想调用 rand() 和 srand() 函数,这就是答案,它们是 C 标准库的一部分。例如,见http://www.google.com/search?q=srand

【讨论】:

random() 和 randomize() 都不是 C89 或 C99 中标准 C 库的一部分。标准函数是 rand() 和 srand()。 谢谢:我会相应地编辑我的帖子。【参考方案3】:

尝试查看http://www.daniweb.com/forums/thread1769.html,卡巴斯基,看看它是否有助于您回答您的问题——或者至少问一个更具体的问题。

【讨论】:

以上是关于任何好的教程可以帮助我创建用于在 C、C++ 中随机化的头文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

用于保存任何维数组的C ++变量

学习用于游戏编程的 C++ 的资源 [关闭]

在 C#/C++ 中托管 VST/DX 仪器? [关闭]

用于导入 C++ DLL 的工具

C ++中的动画[关闭]

我是才开始学习qml,寻求帮助