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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что это за компонент? http://www.cyberforum.ru/cpp/thread300352.html
Всем привет. Кто ни будь, знает в какой библиотеке есть компоненты: TLight и TTrend ? Знакомы ли вообще такие названия кому ни будь?
C++ Visual C++ и Builder C++ сильно отличаются друг от друга? Доброго времени суток. У меня такой вопрос, Visual C++ и Builder C++ сильно отличаются друг от друга? Например если прога была написана в Visual, то будет ли она корректно работать в Builder? http://www.cyberforum.ru/cpp/thread300349.html
Комментарий в коде C++
как в С++ делать коментр?? в паскале так: { bla bla} а в С++ как???
Списки, динамическая память и указатели C++
Нужна помощь! Требуется написать функцию rearrangment( ), меняющую i-ю и j-ю строки текста. То бишь нужно создать однонаправленный список, в который заносится построчно текст какой-либо уже...
C++ Найти решение - на разные темы http://www.cyberforum.ru/cpp/thread298385.html
Доброго времени суток!!! Уважаемые форумчанины, требуется помощь в решении задач по С++. За 1,5 месяца не смог разобраться ни в одном компиляторе. У меня видимо руки не оттуда растут, или эти...
C++ После всякиго ли компилятора c++ будут гарантирвоано правильно исполняться код, соответствющий этим строкам? После всякиго ли компилятора c++ будут гарантирвоано правильно исполняться код, соответствующий этим: a=a; // Удвоение a*=a; // Возведение в квадрат строкам. 1. На сколько надёжно компилится... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18026 / 6258 / 427
Регистрация: 30.03.2009
Сообщений: 17,193
Записей в блоге: 27
21.05.2011, 14:22
Цитата Сообщение от pito211 Посмотреть сообщение
если я правильно понимаю действие реаллока, то в некоторых случаях он вернёт ссылку на новую область памяти(пустую наверно, раз консттрукторов копирования он не вызывает?), а в некоторых расширит существующую, если это возможно?
Да, если возможно, то realloc растянет существующую память. Если нужно выделить новую, то выделит новую и скопирует старые данные

Цитата Сообщение от pito211 Посмотреть сообщение
и если это так, то это значит же что в некоторых случаях копировать не придётся, а это ведь серьёзное увеличение производительности(если вдруг не придётся тыщу элементов копировать)?
Всё это хорошо для POD-типов. Не помню как расшифровывается, но это плоские типы, содержащие только данные, которые можно копировать побайтно. С классами в общем случае так поступать нельзя, потому что у класса может быть переопределён оператор присваивания. При выделении памяти по новой номинально рождаются новые объекты (а потому должен быть вызван конструктор) и уничтожаются старые объекты (при этом должен быть вызван деструктор). Realloc ничего этого не делает. Более того, после того, как отработал realloc, уже некому хотя бы смоделировать такое поведение
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru