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, void
bir 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 ?
Object
bir durumda kesinleştirmek için çağırdıklarını unutmayın .
dynamic
nadiren kullanılan türü kastediyor musunuz?
void
Kod örneğinin kullandığıvoid*
ve tamamen farklı bir şey olan soru başlığı ve metninizden bahsediyor .