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

Модификатор const в аргументах функций - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ не могу понять ошибку http://www.cyberforum.ru/cpp-beginners/thread334565.html
Народ, здарова, сижу над классами, конкретно наследование классов! Компилятор выдает ошибку: Unit1.cpp(143): E2285 Could not find a match for 'Body::Body(char *,shape,color,material)' Объясните почему, ведь, вроде правильно. Код ниже: #include<iostream.h> #include<math.h> #include<conio.h> #include<string.h>
C++ паузы между wav файлами Добрый день ,есть загвоздка с воспроизведением звуковых файлов ,воспроизводя поочередно их ,образуется довольно заметная пауза : sndPlaySound("file_0.wav",SND_SYNC); sndPlaySound("file_1.wav",SND_SYNC); sndPlaySound("file_2.wav",SND_SYNC); Так как звуковой сигнал в них длится около 750 milliseconds, а сам файлы длиной около 1250 milliseconds Есть вариант делать так : ... http://www.cyberforum.ru/cpp-beginners/thread334564.html
C++ отключение клавиши
Всем привет! Как можно отключить определенную клавишу в функции GetAsyncKeyState? приведите пожалуйста примеры?
C++ Как long перевести в char?
У меня дата и время в формате long пишу так sprintf(buf, "%d", p); MessageBoxA(NULL, buf, "information", MB_OK); p это указатель на структуру long, long - дата, время получаю 0. пишу под win32
C++ Структурированный в объектно-ориентированный http://www.cyberforum.ru/cpp-beginners/thread334525.html
Доброго времени суток! В чем собственно моя проблема. Есть задание курсовой роботы (миниатюры), есть исходник программы написанный мною (прилагаю). Но программу надо написать двумя способами, используя структурированный подход и объектно-ориентированный. Со структурированным я вроде справился, хотя если есть тут проблемы или вопросы просьба ткнуть носом. Как мне переделать программу во второй...
C++/CLI WinForms Получить значение TextBox->Text в переменную Нужно в переменную из техтВоха считать, как это сдлать??? у меня ругается на тип ? Какой нужен тогда тип, если не строка ? string s; s = Form1::textBox2->Text; подробнее

Показать сообщение отдельно
Bers
Заблокирован
19.07.2011, 22:29     Модификатор const в аргументах функций
Постоянно путаюсь в этих константах. Как писать грамотнее?

Вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
     template<typename TypeT>  
void TLinePointer<TypeT>::operator = (TypeT* pObject)  //функция не меняет аргумент
{                               //по идее, просится const
    if(pObject==0) { Release(); return; }
    if(mp_Pointer != pObject)  
    {  
        Release();
        mp_Pointer = pObject; 
        mp_CounterLink=new int; 
        *mp_CounterLink=1;
        pObject=0; 
    }
}
Или вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
     template<typename TypeT>  
void TLinePointer<TypeT>::operator = (const TypeT* pObject) 
{
    if(pObject==0) { Release(); return; }
    if(mp_Pointer != pObject)  
    {  
        Release();
        TypeT* TempPointer = const_cast<TypeT*>(pObject); 
                                                      //приходится кастовать, потому что
        mp_Pointer = TempPointer;      //нельзя неконстантному указателю 
                                                      //присвоить константный напрямую
        mp_CounterLink=new int; 
        *mp_CounterLink=1;
        pObject=0; 
    }
}
Интуиция мне подсказывает, что второй вариант более правильный (хотя и приходиться совершать больше движений)

А что подскажут уважаемые эксперты? Или может быть есть ещё какие то варианты?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru