Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232

Универсальная ссылка

01.12.2021, 09:35. Показов 4007. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу сделать класс универсальной ссылки.

Т.е. при объявлении ссылки в конструктор передаётся объект и на этот объект создаётся ссылка, запоминается в приватном свойстве. Далее по объекту универсальной ссылки можно узнать на какой объект она ссылается, производить действие с объектом по ссылке, при уничтожении удаляется.

Может кто подскажет как сделать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
using namespace std;
 
typedef bool LOGIC;                     // 0..1
typedef char LETTER;                    // буква
typedef __INT8_TYPE__ RANGE;        // -128..127
typedef __UINT8_TYPE__ BYTE;        // 0..255
typedef __INT16_TYPE__ INT_S;       // -32768..32767
typedef __UINT16_TYPE__ INT_W;  // 0..65535
typedef __INT32_TYPE__ INT_M;       // -2147483648..2147483647
typedef __UINT32_TYPE__ INT_L;  // 0..4294967295
typedef __INT64_TYPE__ INT_T;       // -9223372036854775808..9223372036854775807
typedef __UINT64_TYPE__ INT_B;  // 0..18446744073709551615
typedef float FLOAT;                        // 1.8E-38..1.8E+38     32b
typedef double DOUBLE;              // 2.2E-308..1.8E+308   64b
typedef void* POINTER;              // указатель
 
template <typename dTYPE>
class LINK {
private:
    POINTER lnk;
public: 
    LINK(dTYPE &obj){
        this->lnk=(POINTER)obj;
    }
};
 
int main(){
    BYTE a=55;
    LINK b(a);
    b=33;
    cout << a << " = " << b << endl;
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2021, 09:35
Ответы с готовыми решениями:

Универсальная ссылка шаблонного аргумента не преобразует значение в rvalue ссылку
В языке присутствуют так называемые универсальные ссылки, которые могут принимать rvalue или lvalue ссылки и преобразовываться в них...

Универсальная функция
Напишите пожалуйста прогу.Написать универсальную функцию для вычислениия заданных выражений.В main() обеспечить вызов этой функции и...

Действительно универсальная сортировка
Вопрос заключается в следующем, возможно-ли сделать такую? Есть сортировка template &lt;typename Iterator, typename Pred&gt; void...

43
Злостный нарушитель
 Аватар для Verevkin
10231 / 5660 / 1260
Регистрация: 12.03.2015
Сообщений: 26,228
01.12.2021, 09:41
Цитата Сообщение от pgb Посмотреть сообщение
Хочу сделать класс универсальной ссылки.
Зачем?
0
фрилансер
 Аватар для Алексей1153
6442 / 5636 / 1127
Регистрация: 11.10.2019
Сообщений: 14,982
01.12.2021, 09:44
pgb, std::shared_ptr

Verevkin, товарисч занимается строительством велосипедов и упорно игнорирует всё, что умные дядьки изобрели и отладили за 20+ лет
0
Злостный нарушитель
 Аватар для Verevkin
10231 / 5660 / 1260
Регистрация: 12.03.2015
Сообщений: 26,228
01.12.2021, 09:46
Цитата Сообщение от Алексей1153 Посмотреть сообщение
товарисч занимается строительством велосипедов и упорно игнорирует всё, что умные дядьки изобрели и отладили за 20+ лет
Мне интересно, для чего чувак хочет юзать эту вундервафлю на практике.
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
01.12.2021, 09:54  [ТС]
Цитата Сообщение от Verevkin Посмотреть сообщение
Зачем?
Во-первых не хочу использовать существующие решения, т.к. в них много не нужного, нет желания таскать с собой всякий мусор.
Во-вторых у меня свои типы данных и мой указатель будет их распознавать при необходимости смогу легко узнать к какому объекту относится ссылка и тд.
В третьих это нужно для разработки своего языка высокого уровня и не только, чтобы проще было писать код.

ЗЫ. Как говорится: не учите жить, лучше помогите материально
0
Злостный нарушитель
 Аватар для Verevkin
10231 / 5660 / 1260
Регистрация: 12.03.2015
Сообщений: 26,228
01.12.2021, 09:59
Цитата Сообщение от pgb Посмотреть сообщение
Во-первых не хочу использовать существующие решения, т.к. в них много не нужного, нет желания таскать с собой всякий мусор.
Во-вторых у меня свои типы данных и мой указатель будет их распознавать при необходимости смогу легко узнать к какому объекту относится ссылка и тд.
В третьих это нужно для разработки своего языка высокого уровня и не только, чтобы проще было писать код.
Не понял. Я не такой умный, как ты. Покаж на примере, интересно жэж!
Просим всем колхозом, месье.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
01.12.2021, 10:00
Verevkin, а ты хитрый. Камеди надоел?
0
Злостный нарушитель
 Аватар для Verevkin
10231 / 5660 / 1260
Регистрация: 12.03.2015
Сообщений: 26,228
01.12.2021, 10:02
Цитата Сообщение от Croessmah Посмотреть сообщение
а ты хитрый.
Неправда.
Цитата Сообщение от Croessmah Посмотреть сообщение
Камеди надоел?
Я зомбоящик не смотрю.
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
01.12.2021, 10:02  [ТС]
Цитата Сообщение от Verevkin Посмотреть сообщение
Не понял. Я не такой умный, как ты. Покаж на примере, интересно жэж!
Просим всем колхозом, месье.
Стрижка только начата Художник показывает свой шедевр только когда он полностью готов.

ЗЫ. А сейчас будьте так любезны подскажите как можно сделать, плиз
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
01.12.2021, 10:04
Цитата Сообщение от pgb Посмотреть сообщение
Художник показывает свой шедевр только когда он полностью готов.
Другими словами, мы не знаем какого цвета должна быть клякса вон в том углу.
0
Эксперт .NET
 Аватар для Usaga
14086 / 9303 / 1348
Регистрация: 21.01.2016
Сообщений: 34,920
01.12.2021, 10:06
pgb, а этот язык с GC будет? Принципиальный вопрос.
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
01.12.2021, 10:08  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
Другими словами, мы не знаем какого цвета должна быть клякса вон в том углу.
Типа того.

Я пока не понимаю как можно запомнить ссылку в классе(в каком типе данных) и потом получить доступ к объекту от этого класса.
0
Эксперт .NET
 Аватар для Usaga
14086 / 9303 / 1348
Регистрация: 21.01.2016
Сообщений: 34,920
01.12.2021, 10:08
pgb, а я, кажется, вашу аватарку узнал. Это не вы несколько лет назад веб-сервер из говна и палок переизобретали? Мол, апачи\нджинскы все мусор дырявый, а ваш будет лучше всех, супер-защищённый, быстрый и можно будет на домашней машине хоститься.
0
Злостный нарушитель
 Аватар для Verevkin
10231 / 5660 / 1260
Регистрация: 12.03.2015
Сообщений: 26,228
01.12.2021, 10:08
Цитата Сообщение от pgb Посмотреть сообщение
Стрижка только начата Художник показывает свой шедевр только когда он полностью готов.
© Зефир Бриз.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
01.12.2021, 10:10
Цитата Сообщение от pgb Посмотреть сообщение
Может кто подскажет как сделать?
void*
0
Злостный нарушитель
 Аватар для Verevkin
10231 / 5660 / 1260
Регистрация: 12.03.2015
Сообщений: 26,228
01.12.2021, 10:12
Цитата Сообщение от hoggy Посмотреть сообщение
void*
и размер.
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
01.12.2021, 10:12
Цитата Сообщение от pgb Посмотреть сообщение
в них много не нужного, нет желания таскать с собой всякий мусор
Нужны конкретные примеры того, что кажется лишним, как это мешает и почему.
Цитата Сообщение от pgb Посмотреть сообщение
для разработки своего языка высокого уровня
А чем уже существующие не устроили?
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
01.12.2021, 10:21  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
pgb, а этот язык с GC будет? Принципиальный вопрос.
Сначала поясните что такое GC - это графический контекст или что?
Цитата Сообщение от Usaga Посмотреть сообщение
а я, кажется, вашу аватарку узнал. Это не вы несколько лет назад веб-сервер из говна и палок переизобретали? Мол, апачи\нджинскы все мусор дырявый, а ваш будет лучше всех, супер-защищённый, быстрый и можно будет на домашней машине хоститься.
Я сделал его и свой язык и базу данных, но на Lazarus`е всё работает, правда я забил на развитие т.к. модуль передачи данных по сети плохо работает из-за сырой либы Inet, сокеты вроде по надёжнее, но тяжелее. Кроме того возникла сложность создания ассиметричного шифрования, не смог реализовать вычисление по модулю очень больших чисел. Я тогда ещё подумывал на C++ перейти, но в то время работал на заводе и делал программы для работы, мне хватало и Lazarus`а.

Сейчас задумка более грандиозная чем просто приложения для обмена данными по локалке на заводе. Поэтому я просто перенесу свой существующий проект на C++ с более продуманными функциями и тд. У которого уже будет ещё больше возможностей.
0
Эксперт .NET
 Аватар для Usaga
14086 / 9303 / 1348
Регистрация: 21.01.2016
Сообщений: 34,920
01.12.2021, 10:24
Цитата Сообщение от pgb Посмотреть сообщение
Сначала поясните что такое GC - это графический контекст или что?
Вот и всё, что нужно знать о квалификации изобретателя нового языка.

Цитата Сообщение от pgb Посмотреть сообщение
Сейчас задумка более грандиозная чем просто приложения для обмена данными по локалке на заводе.
Т.е. менее грандиозная задумка пошла кругами по воде оставляя коричневые разводы, но вы считаете, что ещё более масштабная у вас получится?)
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
01.12.2021, 10:29
pgb, кажется ты пытаешься изобрести, то что в OpenJDK (точнее в hotspot) называется oop (ordinary object pointer). Это обертка над указателем, нужна для работы GC.
https://github.com/openjdk/jdk... ps/oop.hpp
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.12.2021, 10:29
Помогаю со студенческими работами здесь

Универсальная функция вывода
Господа, пытаюсь сделать функцию, которая напечатает массив, и будет универсальна для всех типов и одной структуры. Вот пока все мои...

Универсальная программа тестирования
Напишите универсальную программу тестирования. Тест, последовательность вопросов и варианты ответов должны находиться в текстовом файле....

универсальная функция сортировки
Здраствуйет кто поможет в чем ошибка # include &lt; iostream.h &gt; template &lt; class T &gt; void sort ( T a , int size ) ; main...

Реализовать класс var - «Универсальная переменная»
Реализовать класс var - «Универсальная переменная». Объекты экземпляры этого класса способны хранить в себе значения следующих типов :...

Реализовать класс var - «Универсальная переменная»
Помогите понять в чем ошибка и как ее исправить Error C2244 'var::var': unable to match function definition to an existing declaration ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru