Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ new - это операция или все таки оператор? https://www.cyberforum.ru/ cpp-beginners/ thread810541.html
В большинстве интернет-источниках написано, (взять хоть википедию (да, я понимаю, что там много неправильной информации)). Но действительно, если вбить в поиск new c++ почти везде написано, что это оператор. Но ведь это операция?? Или я что то путаю? Или разницы нет? Помогите, я уж совсем запуталась.
Указатель C++
Можете объяснить устройство работы ,мне казалось что если вызвать просто ptr то должен возвратиться адрес,а если * ptr ,то значение,здесь же совершенно все не так int main() { char *ptr="hello world"; cout<<ptr<<endl; cout<<*ptr; getch(); return 0; }
C++ Строковые типы данных https://www.cyberforum.ru/ cpp-beginners/ thread810535.html
Ввести с клавиатуры строку из 20-ти или меньшего числа символов и найти в строке сумму и количество всех цифр. Язык С++(дано: ввод в Edit1 и вывод в Edit2 и Edit3).
C++ Строковые типы данных (заменить все прописные (большие) буквы латинского алфавита строчными (маленькими)) Ввести с клавиатуры строку и заменить все прописные (большие) буквы латинского алфавита строчными (маленькими). Язык С++ (дано Edit1 и вывод в Edit2). https://www.cyberforum.ru/ cpp-beginners/ thread810534.html
C++ Организовать обход в глубину
Искал код, не смог найти подходящий. Цель следующая - первым обходом ищем все шарниры, а вторым нужно найти для каждого шарнира, на сколько компонент связности дробит граф этот шарнир и сколько в каждой компоненте останется вершин. Было бы вообще великолепно, если бы было возможно реализовать это одним обходом. Поделитесь, пожалуйста, кодом по этому вопросу, или идеями, если есть :)
C++ консольное приложение (при запуске приложение открывалось на весь экран) Как сделать, чтобы при запуске приложение открывалось на весь экран? https://www.cyberforum.ru/ cpp-beginners/ thread810520.html
C++ Классы. Непонятная ошибка https://www.cyberforum.ru/ cpp-beginners/ thread810505.html
Приветствую. Помогите мне пожалуйста разобраться в одной ошибке. Текст задачи: //--------------------------------------------------------------------------------------------------------------------- Составить программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах содержат: -номер УДК -фамилию и инициалы автора -название -год издания
C++ Классы.Заголовочные файлы
Здравствуйте.Помогите найти ошибку.В программе.Вот код. /* main.cpp */ #include <iostream> #include <conio.h> #include "Students.h" using namespace std; int main() { setlocale(LC_ALL, "Russian");
C++ Добавить запись в файл, который уже содержит данные Есть файл(название не важно). Необходимо без удаления предыдущих данных ввести новые, например с новой строки https://www.cyberforum.ru/ cpp-beginners/ thread810488.html C++ Динамический 2-ный массив, count Sort Всем привет, я написал сортировку методом ПОДСЧЁТА для двумерного массива с динамической памятью, и вот что то не работает , посмотрите код, я тут на форуме смотрел тему сортировки массивов, и всё равно для двумерного не получается у мня, спасибо заранее. int count_sort(int **ptrarray,int nrow,int ncol) { srand(time(0)); ptrarray = new int* ; for ( int count = 0;... https://www.cyberforum.ru/ cpp-beginners/ thread810486.html
Как направить вывод из файла C++
Господа, подскажите, как быть с такой задачей. Есть текстовый файл. Допустим, 2 предложения, 10 слов всего. Необходимо каждое слово помещать в массив или вектор (не важно) по отдельности (для дальнейшего сравнения). Выделить слова думаю функцией "strtok", массив, думаю, типа vector <string> V; Но как использовать strtok, если текст в файле?? freopen ("file_name", "r", stdin) ??
C++ Разъясните эту строку как мне это привязать к функции double (*func4 (double, double)); - как это привязать к функции, как я понимаю это масив указателей на функцию, но она почему то не получается привязать https://www.cyberforum.ru/ cpp-beginners/ thread810460.html
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
17.03.2013, 03:04 0

Как выглядит изнутри динамическое выделение объекта через new? - C++ - Ответ 4266486

17.03.2013, 03:04. Показов 1573. Ответов 17
Метки (Все метки)

Ответ

Разница зависит от высоты точки обзора.
Если с самой низкой высоты посмотреть (на ассемблерный код) - то разница определенно будет.
Если с самой высокой - то разницы нет. динамическое создание объекта состоит из двух шагов:
1 выделение памяти
2 инициализация байтов в этой выделенной памяти.

Рассмотрим с точки посередине:
Выделение памяти: в сях и в плюсах используются разные функции. в плюсах из функциии выделения памяти может вылететь исключение.

Конструирование: В сях и в плюсах вызывается какой-то код инициализации. В сях этот код полностью рукописный, в плюсах присутствует как рукописный код, так и код, вставляемый компилятором:
это код для вызова конструкторов базовых классов и мемберов в нужном порядке, это код для отслеживания уже созданных объектов, это код отлова исключений и вызова деструкторов уже сконструированных базовых классов и мемберов, это код инициализации всяких таблиц виртуальных функций и поддержки RTTI, это код, связанный с поддержкой спецификации исключений, это еще что-то, о чем я не вспомнил или не знаю.

Ну и еще в плюсах отслеживается вылет исключения при конструировании и освобождается выделенная память в случае исключения.

Добавлено через 6 минут
на счет Placement new можно использовать для оптимизации, избавляясь от лишних вызовов выделения памяти если известен размер объектов. В классике создается массив чаров нужного размера. И объект конструируется в этом массиве. В векторе используется. Емкость вектора >= количеству элементов в векторе. По мере роста размера вектора, если есть зарезервированная память, то объекты создаются в ней. Иначе - перераспределение.

Вернуться к обсуждению:
Как выглядит изнутри динамическое выделение объекта через new? C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2013, 03:04
Готовые ответы и решения:

Как выглядит вирус php изнутри?
&lt;?php /** * @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved. *...

Как выглядит метод dispose "изнутри"
Привет всем возник вопрос .Вот я высвабаждаю неуправляемые ресурсы с помощью dispose,ну например...

Динамическое выделение памяти для объекта класса
Скажите в чем отличие между A *ptr=new A() и A *ptr=new A;

Динамическое выделение памяти через callback-функцию
всем привет. в общем задача такая. в libjpeg есть возможность через callback функцию выделять...

17
17.03.2013, 03:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2013, 03:04
Помогаю со студенческими работами здесь

Как сделать изменение, если выделение динамическое
Range('Вот сюда нужно вставить меняющейся адрес ячейки').Select

OpenMP: динамическое выделение памяти, как исправить?
Здравствуйте, подскажите как можно реализовать динамическое выделение в данном коде. Суть задачи:...

Не понимаю как выглядит структура выборки через exists
Вот такое задание: 2.5.9. Приведите текст запроса для выборки данных о поставщиках, у которых есть...

Как работает динамическое выделение памяти под объект?
class A { public: A(int x){} ~A(){} }; const int n = 50; A* placementMemory =...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru