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

Перегрузка new - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запреты http://www.cyberforum.ru/cpp-beginners/thread98855.html
1. Можно ли запретить: 1.1. Создание локальных экземпляров класса, 1.2. Создание динамических экземпляров класса? 2. Если можно, то как запретить: 2.1. Создание локальных экземпляров класса, 2.2. Создание динамических экземпляров класса? Требуется что-то такое написать, после чего #define n ... // некая целая константа class a { ...}; // Некий класса, a obj1; // можно
C++ Можно ли создать глобальный обект, вызвав для него закрытый конструктор? Можно ли создать глобальный объект, вызвав для него закрытый конструктор? Как? http://www.cyberforum.ru/cpp-beginners/thread98532.html
Конструктор с параметром-объектом C++
class a { private: ... public: a (); ... }; class b {
stack overflow, math.h C++
вощм передается в sqrt(float _X) _X значением порядка 0.001234 программа ввылетает с сообщением о переполненном стеке и указывает в math.h вотсюда inline float sqrtf(_In_ float _X) {return ((float)sqrt((double)_X)); } //_X==0.0016005998 конкретно код
C++ Сортировка массива http://www.cyberforum.ru/cpp-beginners/thread98235.html
Здорова. Моя программа сортирует массив по диагоналям, то есть меняет местами элементы двух диагоналей квадратной матрицы. Ещё в задании есть пункт о том что не должны меняться местами максимальные элементы диагоналей. И вот после введения этого ограничения на максимальные числа программа перестала корректно работать. В некоторых тестах всё норм, а в некоторых меняет там где максимальное число а...
C++ Запись в файл. Кто подскажет как в файл записать 10 символ так... чтобы при этом не писался 13???? Добавлено через 3 минуты cout putc printf write ну я уже даже низнаю как еще можно писать((( подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.02.2010, 04:48  [ТС]     Перегрузка new
Цитата Сообщение от vitaly1981 Посмотреть сообщение
Я кидал все в h файл, и его подключал ко всем файлам проекта.
Перегрузить для отдельного класса тоже походу можно примерно так же, но у меня такой необходимости не было, так что не знаю получится или нет, возможно компилятор не даст.
В public дал. Но мне в pulic не надо. Мне надо в private и в protected.

Добавлено через 3 минуты
Цитата Сообщение от CheshireCat Посмотреть сообщение
struct X { X() {}; ~X() {}; static X* clone() { return new X; } static void destroy(X* obj) { delete obj; } protected: void* operator new(size_t bytes) { return ::operator new(bytes); } void operator delete(void* p) { ::operator delete(p); } };
Это точно должно компилиться? У меня не получилось. Или я что-то не так делаю? Или "сайт для экспериментов с программами" и в этом плане отличается, например, от gcc?

Добавлено через 5 минут
Нашел причину. не фурычит, всё эйси.

Добавлено через 46 секунд
Цитата Сообщение от CheshireCat Посмотреть сообщение
На самом деле, можно и не проверять. delete NULL; (равно как и free(NULL); ) безопасно по Стандарту.
Я привык проверять. И нафиг мне освобождать несуществующую память по указателю в никуда?
 
Текущее время: 09:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru