2009-03-02 26 views
3

Ben iyi bir açıklama için aradık fakat bulamadım.Bir "userdata işaretçisinin" iyi bir tanımı nedir?

Birini kendim yazmak istiyorum, ancak ingilizce bana yardımcı olabilir daha iyi olan birisi comment here yılında Zan Lynx için bu açıklamaya eğer tercih ediyorum.

... ve neden burada değil, bir yerde iyi bir açıklama olması gerektiğini gibi görünüyor? sqlite3_exec() de

cevap

3

, genellikle bu yapıların içeriği özel tutar. Bununla birlikte, programın, programın bu yapıları kullanmasına özgü bazı ek verileri muhafaza etmesi genellikle yararlıdır. Bu nedenle, bir kütüphane, genellikle, her bir yapı ile depolar (genellikle kullanıcı verilerini olarak adlandırılır) bir alana erişim sağlayacaktır.

Kullanıcı verileri alanının bir program tarafından ortak bir kullanımı, program her bir kütüphane için bir yapı oluşturması istediğinde ve belleğin kitaplık tarafından sağlanan kullanıcı verisi alanında bu belleğe kaydedileceği zaman bir miktar bellek ayırmaktır. bu nedenle userdata işaretçisi.

3

Görünüş - her alınan bir satır için bir geri arama (Üçüncü parametre) çağırır ve geri arama içine sağlayan bir işaretçi (dördüncü parametresi) geçer. Bu, dilediğiniz nesne için bir işaretçi olabilir - sivri nesneye erişebilmeniz için önce uygun şekilde yazmanız gerekir. Bu nesneye userdata nesnesi denir ve buna bir işaretçi, userdata işaretçisi olarak adlandırılır.

sqlite3_exec durumunda() istek tamamlanması üzerine tüm alınan tablo satır saklamak için olan bir kap için bir işaretçi geçebilir. Bir kütüphane, bir programın adına bazı veri yapılarını (GUI uygulamasında örneğin pencereler işletim sistemi tarafından yönetilir) yönetmektedir