About: Smart pointer

An Entity of Type: ProgrammingLanguage106898352, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In computer science, a smart pointer is an abstract data type that simulates a pointer while providing added features, such as automatic memory management or bounds checking. Such features are intended to reduce bugs caused by the misuse of pointers, while retaining efficiency. Smart pointers typically keep track of the memory they point to, and may also be used to manage other resources, such as network connections and file handles. Smart pointers were first popularized in the programming language C++ during the first half of the 1990s as rebuttal to criticisms of C++'s lack of automatic garbage collection.

Property Value
dbo:abstract
  • في علوم الحاسوب والبرمجة المؤشر الذكي (بالإنجليزية: Smart Pointer)‏، هو يحاكي عمل المؤشرات مع توفير مزايا أخرى منها جمع المهملات الآلي، . هذه المزايا الإضافية تعمل على تجنب المشكلات الناتجة عن الاستخدام الخاطئ للمؤشرات، وذلك مع الحفاظ على الفاعلية المطلوبة. تحتفظ المؤشرات الذكية بمعلومات عن الكائنات التي تشير إليها بغرض إدارة الذاكرة. يعد الاستخدام الخاطئ للمؤشرات مصدرا رئيسيا للمشكلات؛ فعمليات حجز الذاكرة، إلغاء حجزها، والارتباطات المرجعية التي تحدث ضمن أي برنامج مكتوب باستخدام المؤشرات ينشأ عنها خطر تسرب الذاكرة. وتعمل المؤشرات الذكية على منع تسرب الذاكرة عن طريق جعل عملية إلغاء حجز الذاكرة تحدث بشكل تلقائي: عندما ينتهي مؤشر (أو آخر مؤشر ضمن مجموعة مؤشرات) لكائن ما، على سبيل المثال بسبب خروجه عن نطاق التنفيذ، فحينها يدمر الكائن الذي يشير إليه هذا المؤشر أيضا. (ar)
  • Smart pointer (chytrý ukazatel) je abstraktní datový typ, který poskytuje funkčnost ukazatele, kterou ovšem rozšiřuje o další schopnosti, typicky řízení doby života (automatické uvolňování paměti, garbage collection), zajištění synchronizace při vícevláknovém programování apod. Klasické ukazatele mají mnoho nepohodlných vlastností a jejich správné užívání je relativně obtížné; často jsou proto zdrojem programátorských chyb. Smart pointery programátora od některých aspektů práce s ukazateli odstiňují a zjednodušují tak jejich používání. Nejběžnějším příkladem chyby při práci s ukazatelem je jeho neuvolnění, kvůli kterému dochází k tzv. úniku paměti (memory leak). Smart pointer se o toto uvolnění stará sám automaticky, zpravidla v okamžiku, kdy smart pointeru končí jeho doba života (k čemuž typicky dojde na konci příslušné proměnné). V jazycích, které používají automatickou správu paměti pomocí garbage collection, se obvykle smart pointery nepoužívají. (cs)
  • Intelligente Zeiger oder Smartpointer werden in vielen gängigen Programmiersprachen wie etwa C++ verwendet. Es handelt sich um spezielle Zeiger, die gegenüber einfachen Zeigervariablen mit zusätzlichen Funktionen und Eigenschaften ausgestattet sind. Intelligente Zeiger erweitern also einfache Zeiger und statten sie mit mehr Funktionalität aus, lassen sich aber wie normale Zeigervariablen benutzen. (de)
  • En programación, un puntero inteligente (o smart pointer) es un tipo abstracto de datos que simula el comportamiento de un puntero corriente pero añadiendo nuevas características adicionales, como gestión automática de memoria y comprobador de límites (bound checking). Estas características adicionales tienen como objetivo reducir errores causados por el mal uso de punteros, manteniendo la eficiencia. Los punteros inteligentes suelen llevar un registro de los objetos a los que apunta con el propósito de gestionar la memoria. Los punteros inteligentes se popularizaron por primera vez en el lenguaje de programación C++ durante la primera mitad de la década de 1990 como refutación a las críticas sobre la falta de recolección automática de basura en C++.​​ El mal uso de los punteros suele ser la mayor fuente de errores: asignaciones constantes, liberación de memoria y la referencia, que debe ser realizada por un programa usando punteros, introduce el riesgo de pérdidas de memoria. Los punteros inteligentes intentan prevenir las pérdidas de memoria, liberando automáticamente los recursos: cuando un puntero (o el último de una serie de punteros) a un objeto es destruido, porque por ejemplo se sale del ámbito, el objeto apuntado también se elimina. Los punteros inteligentes también eliminan los punteros colgantes al posponer la destrucción hasta que el recurso ya no esté en uso. Existen varios tipos de punteros inteligentes. Algunos trabajan llevando la cuenta de referencias, otros mediante asignación de un objeto a un único puntero. Si el lenguaje soporta recolector de basura automático (por ejemplo, Java o C#), el uso de los punteros inteligentes es innecesario para los aspectos de recuperación y seguridad de la administración de memoria, pero son útiles para otros fines, como la administración de residencia de la estructura de datos de caché y la gestión de recursos de objetos como descriptores de archivos o sockets de red. (es)
  • En informatique, un pointeur intelligent (en anglais smart pointer) est un type abstrait de données qui simule le comportement d'un pointeur en y adjoignant des fonctionnalités telles que la libération automatique de la mémoire allouée ou la vérification des bornes. La gestion manuelle de la mémoire dans les langages utilisant les pointeurs est une source courante de bugs, en particulier de fuites de mémoire ou de plantages. Les pointeurs intelligents diminuent ce risque en rendant automatique la libération des ressources : quand le dernier pointeur vers un objet est détruit, par exemple parce qu'il sort de portée, l'objet pointé est détruit simultanément. Cela peut être implémenté par exemple avec le décompte de références. L'utilisation d'un ramasse-miette permet de se passer de pointeurs intelligents. (fr)
  • In computer science, a smart pointer is an abstract data type that simulates a pointer while providing added features, such as automatic memory management or bounds checking. Such features are intended to reduce bugs caused by the misuse of pointers, while retaining efficiency. Smart pointers typically keep track of the memory they point to, and may also be used to manage other resources, such as network connections and file handles. Smart pointers were first popularized in the programming language C++ during the first half of the 1990s as rebuttal to criticisms of C++'s lack of automatic garbage collection. Pointer misuse can be a major source of bugs. Smart pointers prevent most situations of memory leaks by making the memory deallocation automatic. More generally, they make object destruction automatic: an object controlled by a smart pointer is automatically destroyed (finalized and then deallocated) when the last (or only) owner of an object is destroyed, for example because the owner is a local variable, and execution leaves the variable's scope. Smart pointers also eliminate dangling pointers by postponing destruction until an object is no longer in use. If a language supports automatic garbage collection (for example, Java or C#), then smart pointers are unneeded for reclaiming and safety aspects of memory management, yet are useful for other purposes, such as cache data structure residence management and resource management of objects such as file handles or network sockets. Several types of smart pointers exist. Some work with reference counting, others by assigning ownership of an object to one pointer. (en)
  • Uno smart pointer (lett. "puntatore intelligente") è un oggetto del linguaggio C++ che facilita l'utilizzo dei puntatori. Lo scopo principale di uno smart pointer è quello di provvedere una cancellazione automatica della memoria. Non facendo parte delle caratteristiche del C++ gli Smart Pointers vengono forniti attraverso librerie (tra cui quella standard), e pertanto non possono sostituirsi completamente alla gestione della memoria così come avviene per i linguaggi con Garbage Collection. Sono elencati qui di seguito i principali tipi di Smart Pointers ad oggi diffusi e ampiamente approvati dalla comunità. (it)
  • Sprytny wskaźnik, inteligentny wskaźnik (ang. smart pointer) to abstrakcyjny typ danych symulujący wskaźnik, dodając przy tym nowe funkcje takie jak odśmiecanie albo (bounds checking). Niektóre sprytne wskaźniki wykonują zliczanie referencji, inne przekazują kontrolę nad obiektem tylko jednemu wskaźnikowi (auto_ptr). W przypadku języków z automatycznym odśmiecaniem (np. Java, C#) użycie sprytnych wskaźników jest niepotrzebne. W języku C++ sprytne wskaźniki mogą zostać zaimplementowane jako wzorzec klasy, który dzięki przeciążeniu operatorów, udaje działanie zwykłego wskaźnika (operacje dereferencji, przypisania itp.), definiując dodatkowe algorytmy zarządzania pamięcią. (pl)
  • Умный указатель (англ. smart pointer) — идиома косвенного обращения к памяти, которая широко используется при программировании на высокоуровневых языках как: C++, Rust и так далее. Как правило, реализуется в виде специализированного класса (обычно — параметризованного), имитирующего интерфейс обычного указателя и добавляющего необходимую новую функциональность (например — проверку границ при доступе или очистку памяти). Как правило, основной целью задействования умных указателей является инкапсуляция работы с динамической памятью таким образом, чтобы свойства и поведение умных указателей имитировали свойства и поведение обычных указателей. При этом на них возлагается обязанность своевременного и аккуратного высвобождения выделенных ресурсов, что упрощает разработку кода и процесс отладки, исключая утечки памяти и возникновение висячих ссылок. (ru)
  • Розумний вказівник (англ. Smart pointer) — в програмуванні, це абстрактний тип даних, який імітує вказівник з допоміжними можливостями, такими як автоматичне керування пам'яттю або перевірку виходу за межі виділеної пам'яті. Ці додаткові можливості направлені на те щоб зменшити кількість програмних помилок, які виникають при зловживаннях при роботі з вказівниками, зберігаючи ефективність. Розумні вказівники зазвичай слідкують за пам'яттю, на яку вони вказують. Вони також можуть використовуватись, щоб впорядковувати інші ресурси, такі як мережеві з'єднання і файлові дескриптори. (uk)
  • Em ciência da computação, um apontador inteligente (também conhecido pelo termo em língua inglesa smart pointer) é um tipo de dado abstrato que simula um apontador. Ele fornece mais funcionalidades que ponteiros, como coletor de lixo ou verificação de limites do tipo de dado, para adicionar segurança e reduzir erros de programação, ainda que maximizando a eficiência. Implementações de ponteiros inteligentes geralmente possuem referência aos objetos que apontam por questões de gerenciamento de memória. Do ponto de vista de padrões de projeto de software, um ponteiro inteligente é um proxy para uma interface de ponteiro. (pt)
  • 智能指针(英語:Smart pointer)是一種抽象的資料類型。在程式設計中,它通常是經由类模板來實作,藉由模板來達成泛型,藉由類別的解構函數來達成自動釋放指標所指向的記憶體或物件。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 319861 (xsd:integer)
dbo:wikiPageLength
  • 15151 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1097645794 (xsd:integer)
dbo:wikiPageWikiLink
dbp:cs1Dates
  • y (en)
dbp:date
  • July 2022 (en)
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • Intelligente Zeiger oder Smartpointer werden in vielen gängigen Programmiersprachen wie etwa C++ verwendet. Es handelt sich um spezielle Zeiger, die gegenüber einfachen Zeigervariablen mit zusätzlichen Funktionen und Eigenschaften ausgestattet sind. Intelligente Zeiger erweitern also einfache Zeiger und statten sie mit mehr Funktionalität aus, lassen sich aber wie normale Zeigervariablen benutzen. (de)
  • Uno smart pointer (lett. "puntatore intelligente") è un oggetto del linguaggio C++ che facilita l'utilizzo dei puntatori. Lo scopo principale di uno smart pointer è quello di provvedere una cancellazione automatica della memoria. Non facendo parte delle caratteristiche del C++ gli Smart Pointers vengono forniti attraverso librerie (tra cui quella standard), e pertanto non possono sostituirsi completamente alla gestione della memoria così come avviene per i linguaggi con Garbage Collection. Sono elencati qui di seguito i principali tipi di Smart Pointers ad oggi diffusi e ampiamente approvati dalla comunità. (it)
  • Розумний вказівник (англ. Smart pointer) — в програмуванні, це абстрактний тип даних, який імітує вказівник з допоміжними можливостями, такими як автоматичне керування пам'яттю або перевірку виходу за межі виділеної пам'яті. Ці додаткові можливості направлені на те щоб зменшити кількість програмних помилок, які виникають при зловживаннях при роботі з вказівниками, зберігаючи ефективність. Розумні вказівники зазвичай слідкують за пам'яттю, на яку вони вказують. Вони також можуть використовуватись, щоб впорядковувати інші ресурси, такі як мережеві з'єднання і файлові дескриптори. (uk)
  • Em ciência da computação, um apontador inteligente (também conhecido pelo termo em língua inglesa smart pointer) é um tipo de dado abstrato que simula um apontador. Ele fornece mais funcionalidades que ponteiros, como coletor de lixo ou verificação de limites do tipo de dado, para adicionar segurança e reduzir erros de programação, ainda que maximizando a eficiência. Implementações de ponteiros inteligentes geralmente possuem referência aos objetos que apontam por questões de gerenciamento de memória. Do ponto de vista de padrões de projeto de software, um ponteiro inteligente é um proxy para uma interface de ponteiro. (pt)
  • 智能指针(英語:Smart pointer)是一種抽象的資料類型。在程式設計中,它通常是經由类模板來實作,藉由模板來達成泛型,藉由類別的解構函數來達成自動釋放指標所指向的記憶體或物件。 (zh)
  • في علوم الحاسوب والبرمجة المؤشر الذكي (بالإنجليزية: Smart Pointer)‏، هو يحاكي عمل المؤشرات مع توفير مزايا أخرى منها جمع المهملات الآلي، . هذه المزايا الإضافية تعمل على تجنب المشكلات الناتجة عن الاستخدام الخاطئ للمؤشرات، وذلك مع الحفاظ على الفاعلية المطلوبة. تحتفظ المؤشرات الذكية بمعلومات عن الكائنات التي تشير إليها بغرض إدارة الذاكرة. (ar)
  • Smart pointer (chytrý ukazatel) je abstraktní datový typ, který poskytuje funkčnost ukazatele, kterou ovšem rozšiřuje o další schopnosti, typicky řízení doby života (automatické uvolňování paměti, garbage collection), zajištění synchronizace při vícevláknovém programování apod. V jazycích, které používají automatickou správu paměti pomocí garbage collection, se obvykle smart pointery nepoužívají. (cs)
  • En programación, un puntero inteligente (o smart pointer) es un tipo abstracto de datos que simula el comportamiento de un puntero corriente pero añadiendo nuevas características adicionales, como gestión automática de memoria y comprobador de límites (bound checking). Estas características adicionales tienen como objetivo reducir errores causados por el mal uso de punteros, manteniendo la eficiencia. Los punteros inteligentes suelen llevar un registro de los objetos a los que apunta con el propósito de gestionar la memoria. Los punteros inteligentes se popularizaron por primera vez en el lenguaje de programación C++ durante la primera mitad de la década de 1990 como refutación a las críticas sobre la falta de recolección automática de basura en C++.​​ (es)
  • En informatique, un pointeur intelligent (en anglais smart pointer) est un type abstrait de données qui simule le comportement d'un pointeur en y adjoignant des fonctionnalités telles que la libération automatique de la mémoire allouée ou la vérification des bornes. (fr)
  • In computer science, a smart pointer is an abstract data type that simulates a pointer while providing added features, such as automatic memory management or bounds checking. Such features are intended to reduce bugs caused by the misuse of pointers, while retaining efficiency. Smart pointers typically keep track of the memory they point to, and may also be used to manage other resources, such as network connections and file handles. Smart pointers were first popularized in the programming language C++ during the first half of the 1990s as rebuttal to criticisms of C++'s lack of automatic garbage collection. (en)
  • Sprytny wskaźnik, inteligentny wskaźnik (ang. smart pointer) to abstrakcyjny typ danych symulujący wskaźnik, dodając przy tym nowe funkcje takie jak odśmiecanie albo (bounds checking). Niektóre sprytne wskaźniki wykonują zliczanie referencji, inne przekazują kontrolę nad obiektem tylko jednemu wskaźnikowi (auto_ptr). W przypadku języków z automatycznym odśmiecaniem (np. Java, C#) użycie sprytnych wskaźników jest niepotrzebne. (pl)
  • Умный указатель (англ. smart pointer) — идиома косвенного обращения к памяти, которая широко используется при программировании на высокоуровневых языках как: C++, Rust и так далее. Как правило, реализуется в виде специализированного класса (обычно — параметризованного), имитирующего интерфейс обычного указателя и добавляющего необходимую новую функциональность (например — проверку границ при доступе или очистку памяти). (ru)
rdfs:label
  • مؤشر ذكي (ar)
  • Smart pointer (cs)
  • Intelligenter Zeiger (de)
  • Puntero inteligente (es)
  • Smart pointer (it)
  • Pointeur intelligent (fr)
  • Sprytny wskaźnik (pl)
  • Smart pointer (en)
  • Ponteiro inteligente (pt)
  • Умный указатель (ru)
  • 智能指针 (zh)
  • Розумні вказівники (uk)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is rdfs:seeAlso of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License