Java ve C # gibi kuvvetle yazılmış dillerde bir yöntem için dönüş türü olarak , void(veya Void) gibi görünüyor:
Bu yöntem hiçbir şey döndürmez. Hiçbir şey değil. İade yok. Bu yöntemden hiçbir şey almayacaksınız.
Asıl garip olan, C cinsinden, voidbir geri dönüş türü olarak veya hatta bir yöntem parametresi türü olarak şu anlama gelir:
Gerçekten bir şey olabilir. Bunu öğrenmek için kaynak kodunu okumalısınız. İyi şanslar. Bir işaretçi ise, ne yaptığınızı gerçekten bilmelisiniz.
Aşağıdaki örnekleri C göz önünde bulundurun:
void describe(void *thing)
{
Object *obj = thing;
printf("%s.\n", obj->description);
}
void *move(void *location, Direction direction)
{
void *next = NULL;
// logic!
return next;
}
Açıkçası, ikinci yöntem, tanımı gereği herhangi bir şey olabilecek bir gösterici döndürür.
C, Java ve C # 'dan daha eski olduğundan, bu diller neden void“hiçbir şey” veya “işaretçi” olarak kullanılırken neden “hiçbir şey” olarak benimsemiştir ?
Objectbir durumda kesinleştirmek için çağırdıklarını unutmayın .
dynamicnadiren kullanılan türü kastediyor musunuz?
voidKod örneğinin kullandığıvoid*ve tamamen farklı bir şey olan soru başlığı ve metninizden bahsediyor .