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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
#1

создал метод класса в основе которо лежит itoa - C++

10.10.2013, 17:51. Просмотров 301. Ответов 4
Метки нет (Все метки)

создал метод класса в основе которо лежит itoa. прототип метода такой
C
1
char*myitoa();
внутри метода выделаю динам. память. затем на следующем вызове этого же метода нужно очистить память по указателю от предыдущего вызова. и в эти же ячейки записать новые данные. можно сделать параметр - указатель, который пришел с предыдущего вызова. возможно есть пути покрасивее?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2013, 17:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос создал метод класса в основе которо лежит itoa (C++):

Создать на основе класса дополнительный метод из функции main() (односвязные списки) - C++
//Ñîñòàâèòü ïðîãðàììó, êîòîðàÿ â ñïèñêå L çàìåíÿåò ïåðâîå âõîæäåíèå ñïèñêà L1 (åñëè òàêîå åñòü) íà ñïèñîê L2. #include <iostream> ...

Как передать в метод класса Menu указатель на метод дочернего класса? - C++
Как передать в метод базового класса указатель на метод дочернего: class Menu() { protected: setCallback(*********); //...

Верно ли, что в основе фабрики лежит наследование классов? - C++
Сори за глупый вопрос, но правильно ли я понял, что в основе фабрики лежит наследование классов?

Как на основе того что лежит в переменной сделать переменную в объекте? - C++
1. Ну есть у нас переменная string arg1 = "MyVar"; string arg2 = "propereties"; и потом можно было обратится через объект ...

Создание класса-списка на основе кода со списком без класса - C++
Здравствуйте. Не могли бы вы показать, как оформить этот код в виде класса. Смысл задания: это засунуть в список большое число(здесь я...

Как построить экземпляр дочернего класса на основе готового экземпляра базового класса? - C++
Если уже есть готовый объект базового класса. Могу я построить экземпляр дочернего на его основе, (напр., получив такой базовый объект...

4
castaway
Эксперт С++
4919 / 3027 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
10.10.2013, 18:06 #2
Если правильно понял..
C++
1
2
3
4
5
6
7
char *myitoa() {
    static char * ptr = 0;
    if ( ptr ) delete [] ptr;
    ptr = new char [256];
    ...
    return ptr;
}
1
gromo
372 / 271 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
10.10.2013, 18:06 #3
Если я правильно вас понял, то "оператор размещения new" вам поможет. Он позволяет разместить новый объект в уже выделенной памяти.
Например
C++
1
2
3
4
5
6
7
8
9
10
11
#include <new>
class A;
int main ( void ) {
    char* buf = new char[sizeof A];
    A* ptr = new (buf) A;
    // поизменяем ptr, сохраним если нужно, потому что сейчас он будет затерт
    // . . .
    А* ptr2 = new (buf) A;
    // . . .
   delete [] buf;
}
1
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
10.10.2013, 18:26  [ТС] #4
Цитата Сообщение от castaway Посмотреть сообщение
Если правильно понял..
C++
1
2
3
4
5
6
7
char *myitoa() {
    static char * ptr = 0;
    if ( ptr ) delete [] ptr;
    ptr = new char [256];
    ...
    return ptr;
}
спасибо. в учебнике эту главу пролистал. static - то что нужно!

Добавлено через 13 минут
Цитата Сообщение от castaway Посмотреть сообщение
Если правильно понял..
C++
1
2
3
4
5
6
7
char *myitoa() {
    static char * ptr = 0;
    if ( ptr ) delete [] ptr;
    ptr = new char [256];
    ...
    return ptr;
}
0
castaway
Эксперт С++
4919 / 3027 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
10.10.2013, 18:28 #5
Цитата Сообщение от Miwa123 Посмотреть сообщение
- утекла память.
если не прав. объясните
Этот указатель только один раз будет инициализирован нулём, в самом начале. После он нулём инициализироваться не будет, такова особенность модификатора static.
0
10.10.2013, 18:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 18:28
Привет! Вот еще темы с ответами:

Как описать метод класса? Как двумя способами описать инлайнируемый метод класса? Что такое this? - C++
Раздел 1. Строки: нужен фрагмент кода. Обязательно используйте функции для работы со строками. Как найти адрес последнего символа строки?...

Создать для класса виртуальный метод, возвращающий уникальный идентификатор класса - C++
В курсаче по ООП сказано создать для класса виртуальный метод,возвращающий уникальный идентификатор класса. Вопрос в том, что это такое?

Может ли метод родительского класса обратиться к полю дочернего класса - C++
Может ли метод родительского класса обратиться к полю дочернего класса?

Как в методе класса вызвать другой метод того же класса? - C++
class mate { public: int AplusB(int A, int B) { return A+B; } int AplusBplusC(int A, int B, int C)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.