С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
-36 / 21 / 0
Регистрация: 22.09.2015
Сообщений: 1,078
1

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

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

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

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

Может кто подскажет как сделать?
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2021, 09:35
Ответы с готовыми решениями:

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

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

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

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

43
Злостный нарушитель
9616 / 5207 / 1187
Регистрация: 12.03.2015
Сообщений: 24,585
01.12.2021, 10:38 21
Author24 — интернет-сервис помощи студентам
Кликните здесь для просмотра всего текста
0
-36 / 21 / 0
Регистрация: 22.09.2015
Сообщений: 1,078
01.12.2021, 10:43  [ТС] 22
Цитата Сообщение от Usaga Посмотреть сообщение
Т.е. менее грандиозная задумка пошла кругами по воде оставляя коричневые разводы, но вы считаете, что ещё более масштабная у вас получится?)
У меня всё получается

ЗЫ. Прежний опыт и наработки только ускорят процесс разработки нового проекта на C++
ЗЫЫ. Я пока ещё плохо разбираюсь в нюансах указателей и тд. но уже есть понимание и положительные результаты. Какой хотел класс универсальной ссылки уже сделал

Упс. Данная тема для меня уже не актуальна. Всем спасибо.
0
Эксперт .NET
12547 / 8705 / 1311
Регистрация: 21.01.2016
Сообщений: 32,702
01.12.2021, 10:49 23
Цитата Сообщение от pgb Посмотреть сообщение
У меня всё получается
Оно и видно по вашим темам.
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
01.12.2021, 10:50 24
Цитата Сообщение от pgb Посмотреть сообщение
Какой хотел класс универсальной ссылки уже сделал
Поделись результатом, код может быть кому-то полезен.
0
-36 / 21 / 0
Регистрация: 22.09.2015
Сообщений: 1,078
01.12.2021, 11:28  [ТС] 25
Цитата Сообщение от Usaga Посмотреть сообщение
Оно и видно по вашим темам.
Я на C++ буквально пару недель наверно только пишу. Уж извините, что мои темы для вас глупые.
Цитата Сообщение от Kastaneda Посмотреть сообщение
оделись результатом, код может быть кому-то полезен.
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
template <typename dTYPE=POINTER>
class LINK {
private:
    POINTER lnk=NULL;
public: 
    //LINK(){};
    LINK(dTYPE &obj){
        this->lnk=(POINTER)&obj;
    }
    LINK &operator=(dTYPE val){
        if(this->lnk)*(dTYPE*)this->lnk=val;
        return *this;
    }
    friend std::ostream& operator<< (std::ostream &out, const LINK &obj){
        if(obj.lnk)out << *(dTYPE*)obj.lnk;else out << "NULL";
        return out;
    }
};
 
int main(){
    INT_W a=55;
    //cout << "#" << &a << endl;
    LINK b(a);
    b=33;
    cout << a << " = " << b << endl;
    return 0;
}
Сыроват ещё, хочу ещё доработать... под нужные задачи.
0
Эксперт .NET
12547 / 8705 / 1311
Регистрация: 21.01.2016
Сообщений: 32,702
01.12.2021, 11:43 26
Цитата Сообщение от pgb Посмотреть сообщение
Я на C++ буквально пару недель наверно только пишу.
Но уже решили, что срочно нужно свой язык программирования изобретать? И какие он должен задачи решать? Какие недостатки каких языков компенсировать?
0
-36 / 21 / 0
Регистрация: 22.09.2015
Сообщений: 1,078
01.12.2021, 12:13  [ТС] 27
Цитата Сообщение от Usaga Посмотреть сообщение
Но уже решили, что срочно нужно свой язык программирования изобретать? И какие он должен задачи решать? Какие недостатки каких языков компенсировать?
У моего языка нет никаких команд, есть только управляющие символы !@#$%^&{}... и др.
Переменные, объекты можно называть как угодно хоть на латинице хоть на кириллице. Все современные подходы программирования учтены, ооп, модульность и тд.

Задачи будет решать разные от бэкенда сайтов до распределённого вычисления ..., возможно интерфейсные(но до этого ещё далеко, возьмусь если найдутся единомышленники в одиночку такое не осилю, мне лично GUI на своём языке пока по крайне мере без надобности).

Добавлено через 14 минут
А то что касаемо моего проекта на Lazarus. То он свою задачу выполняет, я делал некое подобие 1С примитивное для делопроизводства для внутренних служебных записок, извещений, тех. решений и тд. Чтобы начальникам цехов, отделов не бегать по заводу, не изводить тонны макулатуры на всё это. В БТД документ сканируется и вводится в программу. Далее любой начальник может с своего компа посмотреть нужный ему документ. Естественно права доступа всё учитывается.

А я ещё потом на той базе хотел сделать другой проект связанный с сайтами, но понимал, что лучше всё же делать на C++ поэтому подзабил на это. Были другие интересные задачи, разработал фреймворк для создания сайтов. А так как хочу делать связь между сайтами, общую базу пользователей и др. ништяки решил реанимировать тот свой проект, но уже на C++.
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
01.12.2021, 12:49 28
Цитата Сообщение от pgb Посмотреть сообщение
Сыроват ещё, хочу ещё доработать... под нужные задачи.
А, вот какой код нужен был ...
Название: 189f807edbd2b2b7f9aab1317c13f85c.jpg
Просмотров: 159

Размер: 14.9 Кб
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
01.12.2021, 12:51 29
Цитата Сообщение от pgb Посмотреть сообщение
template <typename dTYPE=POINTER>
class LINK {
private:
    POINTER lnk=NULL;
public:
    //LINK(){};
    LINK(dTYPE &obj){
        this->lnk=(POINTER)&obj;
    }
    LINK &operator=(dTYPE val){
        if(this->lnk)*(dTYPE*)this->lnk=val;
        return *this;
    }
    friend std::ostream& operator<< (std::ostream &out, const LINK &obj){
        if(obj.lnk)out << *(dTYPE*)obj.lnk;else out << "NULL";
        return out;
    }
};
Его же крешнуть как нефиг делать, зачем такое нужно?
0
Эксперт .NET
12547 / 8705 / 1311
Регистрация: 21.01.2016
Сообщений: 32,702
01.12.2021, 13:00 30
Цитата Сообщение от pgb Посмотреть сообщение
У моего языка нет никаких команд, есть только управляющие символы !@#$%^&{}... и др.
Хороший корячится язык. Выразительный. А название уже есть? Оно тоже будет из этих символов состоять? Если с этим будут трудности, то можете обратиться к Его Правительским Званиям. Это самый крутой Программист на этом форуме. Он и языки новые изобретает. И алгоритмы шифрования. И всё остальное. Можете у него проконсультироваться или попробовать позвать к себе в команду.
0
Неэпический
18109 / 10696 / 2062
Регистрация: 27.09.2012
Сообщений: 26,939
Записей в блоге: 1
01.12.2021, 13:01 31
Цитата Сообщение от Kastaneda Посмотреть сообщение
Его же крешнуть как нефиг делать, зачем такое нужно?
написано же
Цитата Сообщение от pgb Посмотреть сообщение
Задачи будет решать разные от бэкенда сайтов до распределённого вычисления
1
4820 / 2286 / 287
Регистрация: 01.03.2013
Сообщений: 5,970
Записей в блоге: 29
01.12.2021, 13:01 32
pgb, не слушайте никого, продолжайте пилить то, что нравится. Жизнь одна (по крайней мере, в текущем теле).

Про графический контекст конечно вы мощно задвинули. Насчет ГУЁв - сделайте интеграцию с существующими решениями, как это делают большинство языков (от Питона до Котлина), и сэкономите время и силы.

ЗЫ только немного жаль тех, кого вы бросили на заводе с вашим уникальнвм решением без поддержки. Или вы нашли себе замену и обучили его языку вашего проекта?
1
Эксперт .NET
12547 / 8705 / 1311
Регистрация: 21.01.2016
Сообщений: 32,702
01.12.2021, 13:07 33
Никто его и не отговаривает) Таких идейных, что прут напролом как ледокол с Д'Артаньяном у штурвала, не образумить. Они никого не слышат.
0
4820 / 2286 / 287
Регистрация: 01.03.2013
Сообщений: 5,970
Записей в блоге: 29
01.12.2021, 13:15 34
И правильно делают У Икаров есть интерес, увлеченность, удачи и разочарования, цель и шанс. А у вразумляющих нет ничего.
1
Эксперт .NET
12547 / 8705 / 1311
Регистрация: 21.01.2016
Сообщений: 32,702
01.12.2021, 13:28 35
Все мы помним, как Икар закончил. И эти товарищи тем же путём идут:

Цитата Сообщение от pgb Посмотреть сообщение
подзабил на это
Уже не в первый раз тут вижу это. Вразумляющие тоже были молоды с кучей свободного времени. Можно и намекнуть, что путь такой себе выбран. Особенно, когда мотивацией выступают эмоции и ЧСВ, а не желание просто прокачать скилы.
0
3718 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
01.12.2021, 15:01 36
Цитата Сообщение от pgb Посмотреть сообщение
Т.е. при объявлении ссылки в конструктор передаётся объект и на этот объект создаётся ссылка, запоминается в приватном свойстве. Далее по объекту универсальной ссылки можно узнать на какой объект она ссылается, производить действие с объектом по ссылке, при уничтожении удаляется.
C++
1
2
3
    auto pstr = make_unique<string>("text");
    typename decltype(pstr)::element_type str = *pstr;
    cout << str;
Или я чего то не понимаю ?

И что такого "много лишнего" в умных указателях ???

Где то было про "таскать много лишнего мусора" : видел ОС написанную с нуля на ассемблере, весом ~20-30МБ(точно не помню), толку ноль, но кто то убил кучу времени на нее.
Что бы из своего мега-пупер проэкта получить не только удовольствие, но еще и опыт, нужно брать опыт уже готовый,
и оттачивать его дальше. Когда уже готовые решение будут казаться для вас слишком простыми/понятными.
Можно и свое делать с "нуля" (ой, это уже будет не с нуля, а с огромным опытом который вы взяли у других + заработали свой).
А чисто писать все с нуля (типа я самый умный, гений, мне другой опыт не нужен), никакой жизни не хватит.
ИМХО.
0
-36 / 21 / 0
Регистрация: 22.09.2015
Сообщений: 1,078
01.12.2021, 16:37  [ТС] 37
Цитата Сообщение от SmallEvil Посмотреть сообщение
А чисто писать все с нуля (типа я самый умный, гений, мне другой опыт не нужен), никакой жизни не хватит.
Все так думают. Я раньше тоже думал мне не под силу свой язык сделать или базу данных и тд. Но малу по малу ради интереса делаешь, находить решения день за днём, двигаешься к цели.
2005-2007 я написал кучу скриптов для разных сайтов форум, магазин, казино, рекламный брокер, фриланс и тд. даже свою платёжную систему
2008-2009 все свои наработки объединил на одном движке в один большой проект, денег на раскрутку тогда не было, подвернулось место на заводе
2010-2016 работая на заводе попутно пилил потихоньку проект на Lazarus
2019-2020 написал фреймворк для создания сайтов полностью бэкенда и фронт с своими скриптами на JS без использования сторонних библиотек
Сейчас вот на C++ перенесу модернизирую прежний опыт с Lazarus, думаю за полгодика основу сделаю
Далее есть задумка ещё большего проекта с использованием всех этих инструментов

ЗЫ. А учителя как делать не надо, так и будут языком только молоть да других оскорблять.. на это точно никакой жизни не хватит..
0
DrOffset
01.12.2021, 17:19
  #38

Не по теме:

pgb, вы на конструктивные замечания в своих соседних темах почему-то не отвечаете, а тут вон сколько понаписали, препираясь с "учителями". Лично я больше не буду вам помогать, потому что моя плата за помощь - это обратная связь. Нет обратной связи - нет помощи.

0
-36 / 21 / 0
Регистрация: 22.09.2015
Сообщений: 1,078
01.12.2021, 17:32  [ТС] 39
Цитата Сообщение от DrOffset Посмотреть сообщение
pgb, вы на конструктивные замечания в своих соседних темах почему-то не отвечаете, а тут вон сколько понаписали, препираясь с "учителями". Лично я больше не буду вам помогать, потому что моя плата за помощь - это обратная связь. Нет обратной связи - нет помощи.
Прошу прощения, мне нужна ваша помощь, вы не не раз помогали, СПАСИБО. Просто занят своим делом..
Сейчас посмотрю на какие вопросы вам не ответил.
0
4820 / 2286 / 287
Регистрация: 01.03.2013
Сообщений: 5,970
Записей в блоге: 29
01.12.2021, 19:45 40
Цитата Сообщение от SmallEvil Посмотреть сообщение
толку ноль, но кто то убил кучу времени на нее
а вы на что предпочитаете убивать свое время, и какой от этого толк?

К примеру, у меня в подписи ссылка на тему, в которой я создал "собственный язык", никому не нужный, штук 5 реализаций под разные хостовые языки и платформы. Сам, "без ансамбля", не анализируя опыт предыдущих поколений. Получил массу интереса и удовольствия плюс на одном собеседовании добавило к общему впечатлению. А что вы в свои годы сделали для хип-хопа, кроме транслирования в эфир страха перед рекурсией и не умения ее готовить без SO?
1
01.12.2021, 19:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2021, 19:45
Помогаю со студенческими работами здесь

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

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

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

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

Универсальная функция считывания переменных из бинарного файла
Подскажите, написал запись в бинарный файл переменных, не могу считать, точнее функция должна быть...

Универсальная функция получения числа через cin
Пытался написать универсальную функцию для гарантированного получения числа нужного типа, примерно...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru