Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2015, 16:56   #1
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию Оператор = value класса - C++/CLI

Добрый день !

Выяснилось , что в value classе нельзя написать деструктор и оператор присвоения.

Почему ?

В данном случае не могу выполнить глубокое копирование из-за чего получаю утечку памяти при выполнении B=A;(((((

+ доп. утечка в случае выхода обьекта за область видимости , так как не могу написать деструктор и выполнить в нем
Код:
delete x;
Код:
value class Message
{
public:
    int *x;
    Message(int a) : x(new int(a)) {}
};
 
int main(array<String ^> ^args)
{
    Message A(555);
    Console::WriteLine("x = {0}",*A.x);
    Message B(987);
    Console::WriteLine("x = {0}",*A.x);
        Console::WriteLine("x = {0}",*B.x);
        B=A;
        cout<<"x = "<<A.x<<endl;
    cout<<"x = "<<B.x<<endl;
    
    return 0;
}
RAFA91 вне форума Ответить с цитированием
Старый 23.09.2015, 18:25   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Почему ?
потому что это доттнет а не С++.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.09.2015, 13:29   #3
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

ТАК ЧТО , в данном случае будет утечка памяти ?
RAFA91 вне форума Ответить с цитированием
Старый 24.09.2015, 13:34   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Как вы определили, что она будет?

Чего именно? х? Я б не смешивал managed классы с нативными.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.10.2015, 14:46   #5
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

вот за это я не люблю этот расширенный с++

Код:
IntVal three = 45; // косяк
Код:
value struct IntVal
{
private:
int value;
public:
IntVal(int v) : value(v) {}    // ведь есть же !!!!!!!!!!
int getVal() { return value; }
};

int main(array<System::String ^> ^args)
{
    IntVal three = 45; 
    Console::WriteLine(three.getVal());
    return 0;
}
RAFA91 вне форума Ответить с цитированием
Старый 06.10.2015, 15:00   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так и будете ходить по кругу во всех темах?

1. RAFA91: Почему в С++/CLI так, хотя в С++ не так?
2. xxxxxx: Патамушто дотнет.
3. RAFA91: Печаль, ну и фигня ж этот C++/CLI, не нравится он мне.
4. xxxxxx, yyyyyy, zzzzz (хором): Учи СиШарп, C++/CLI нинужен!!1
5. goto п.1
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.10.2015, 15:02   #7
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так и будете ходить по кругу во всех темах?

Учи СиШарп, C++/CLI нинужен!!1
1
C++/CLI малость похож на шарп

на собеседовании что лучше знать C++/CLI или шарп ?

чистого с++ походу мало будет.
RAFA91 вне форума Ответить с цитированием
Старый 06.10.2015, 15:11   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я уже отвечал по соседству что шарп.
либо сам С++.(тока не ограничившись cout<<"Hello World", а с работой с библиотеками и АПИ(у меня вон коллега сейчас написал сервер работающий с БД Oracle и принимающий запросы из сети(шифрование SSL),и это все на С++)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.10.2015, 15:14   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Было ж уже
http://programmersforum.ru/showpost....1&postcount=19

Ну и смотря на кого и куда. Кому-то просто кодеры на определенном ЯП нужны, кого-то больше интересуют более фундаменентальные/инженерные скиллы, а конкретный язык/библиотека дело наживное.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.10.2015, 15:18   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

Цитата:
вот за это я не люблю этот расширенный с++
Он не расширенный, а чуть исправленный

Цитата:
// ведь есть же !!!!!!!!!!
И что? Напишите:
Код:
IntVal three = IntVal(45);
и если вдруг не смогет, тогда и возмущайтесь. А если хотите, чтоб было как в С++ напишите оператор для конвертирования, типа:
Код:
static operator IntVal(int n) { return IntVal(n); }
Цитата:
чистого с++ походу мало будет.
Расскажите это куче С++ программистов, работающих по специальности.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оператор сдвига как член класса Anubys Общие вопросы C/C++ 0 25.12.2011 02:44
C++/CLI. Не могу заставить два класса видеть друг друга Хохол Общие вопросы .NET 3 29.03.2011 10:43
Оператор выбора или условный оператор[Перенесено из JavaSE] merhaba1992 Помощь студентам 1 20.01.2011 17:06
Вычислить используя, оператор цикла for и оператор безусловного пе Knubbe Помощь студентам 1 18.12.2009 10:24