【发布时间】:2013-05-24 09:12:38
【问题描述】:
我一直在查看以下工作代码,用于在 c++ 中将代码作为 pthread 执行:
void * PrintHello(void * blank) {
cout << "Hello World" << endl
}
...
pthread_create(&mpthread, NULL, PrintHello, NULL);
我想知道为什么我需要使用 void * 方法而不是 void 方法,并且参数也是如此。为什么它们需要是指针,这种void方法和void争论的情况有什么区别。
【问题讨论】:
-
您在这里没有使用任何类型的方法。 C 没有方法。
-
@H2CO3 方法,功能,笨拙,只是同一事物的不同名称。
-
@DanielFischer 在 OOP 中“方法”没有命名“成员函数”吗? (据我所知,甚至 C++ 标准都没有使用术语方法,而是成员函数。)
-
@H2CO3 我们不受 OOP 术语的约束,这也不是很统一。 Javans 过去(也许仍然如此)将所有函数称为“方法”,有些是“实例方法”,有些是“类方法”。至少在一开始,虔诚地避免使用“函数”一词的部分原因是感觉 OOP 在本质上优于老式的过程式编程(恐怕 OOP 还没有失去足够的新鲜感来彻底摧毁这种信念,对某些任务更好,对另一些任务更糟)。不会改变它们都是函数的事实。
-
@H2CO3 不用担心,你听起来不像。我只是强烈认为坚持术语不同是毫无意义的,除非相关标准中有规定。