Форум программистов, компьютерный форум CyberForum.ru

realloc и вызов конструктора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Баг asio? или баг TCP стека? http://www.cyberforum.ru/cpp/thread272413.html
всем привет. повстречался с очень странным багом. и не могу определить кто бажит, asio, или TCP-стек. на стороне клиента, сохраняю отправляемые массивы в файл, чтоб убедится в том, что массивы не портятся. так и есть. массивы не искаженны: на стороне сервера, так же, сохраняю принятые массивы. но тут, массив приходит искаженным:
C++ Получить индекс типа в mpl::map`е всем привет. есть mpl карта типов(key -> value). нужно получить индекс типа имея только ключ. где-то накосячил. но непойму где. #include <iostream> #include <boost/mpl/distance.hpp> #include <boost/mpl/find.hpp> #include <boost/mpl/find_if.hpp> http://www.cyberforum.ru/cpp/thread226098.html
C++ Задачи для тренировки и лучшего понимания
Ребят. Кто-нибудь может дать задачу для тренировки? Приблизительно по всему курсу С++. Буду благодарен за сложную задачу, но которую способен сделать новичок-любитель. Затраты сил-времени не важно. Главное, чтобы это было интересно и не слишком рутинно. + Если найдется человек который даст задачу просьба помогать с кодом, который я буду себя скидывать. Не переписывать за меня, но указывать на...
C++ Теория плагинов
Всем привет. Для одной моей проги, нужно реализовать поддержку плагинов. Плагины предполагаются простенькие, написанные на Си. То, что плагин, это просто .so файл - понятно. То, что прога может дергать из .so файла функции - тоже понятно. 1. Непонятно то, как сам плагин сможет дергать функции из программы? 2. Программа написана на С++, но плагины предполагаю писать на Си, во избежания...
C++ ./massdown: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./massdown) http://www.cyberforum.ru/cpp/thread98890.html
всем хай! собираю свою программу на новом железе х86_64 долго не получалось скомпилить. при линковке получал вот такое сообщение: relocation R_X86_64_32 against `a local symbol' я так понял, это из-за того что часть библиотек от которых зависит цель, были собраны как 32-ух битные. но с этим вроде все нормально, пересобрал все либы - скомпилировалось. теперь при запуске получаю такое...
C++ Как понять этот константный указатель? В общем, имеется класс Cat. Объект класса - SimpleCat. И имеется функция с константым указателем: const SimpleCat* const FunctionTwo(const SimpleCat* const theCat) Что обозначают все эти const? Насколько я понимаю: 1. Константный указатель. 2. Может ссылаться только на FunctionTwo 3. Ничего не изменяет в объекте. 4. Ничего не делает с объектом theCat. подробнее

Показать сообщение отдельно
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16935 / 5340 / 328
Регистрация: 30.03.2009
Сообщений: 14,352
Записей в блоге: 26
20.05.2011, 14:27     realloc и вызов конструктора
Цитата Сообщение от pito211 Посмотреть сообщение
мне препод сказал, что можно выделить память оператором new, а потом довыделить её с помощью realloc
Нельзя вперемешку использовать new/delete и malloc/realloc/free. Точнее можно, но с непредсказуемыми последствиями. В Си++ нет встроенной конструкции для перевыделения памяти, а потому такое делается через malloc/realloc. Если препод бестолковый из разряда "у меня работает, значит можно", то сделай new/realloc, но для себя надо понимать, что это интерфейсы разных уровней, которые в общем случае не следует перемешивать

Добавлено через 2 минуты
Цитата Сообщение от oxotnik Посмотреть сообщение
new изнутри это тот же malloc плюс вызов конструктора
На самом деле вызов конструктора - это снаружи new, а не изнутри (т.е. вызов конструктора ставит компилятор, а не реализация оператора new). По поводу того, что "это тот же malloc" - это постфактум в реализациях. Но, как мне кажется, никто не гарантирует, что new это в чистом виде обёртка вокруг malloc'а и что там никаких дополнительных действий не делается
 
Текущее время: 02:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru