Насколько я помню, это преобразование создаёт временную переменную (вызывается конструктор копирования класса clA), ссылка на которую присваивается a. Т.е. результат не будет отличаться от простого копирования без ссылки:
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Билли Бонс писал(а):
Насколько я помню, это преобразование создаёт временную переменную (вызывается конструктор копирования класса clA), ссылка на которую присваивается a. Т.е. результат не будет отличаться от простого копирования без ссылки:
Member
Статус: Не в сети Регистрация: 15.11.2003 Откуда: Moscow\Russia
Привет всем! Кто знает как получить доступ к биту?
Ну например есть у меня переменная
char i = 'a';
она занимает 1 байт, т.е. у ней внутри 8 бит, как мне эти биты изменять?
Member
Статус: Не в сети Регистрация: 15.11.2003 Откуда: Moscow\Russia
хм, спасибо попробую разобраться...
появились такие вопросы:
1. Что в С++ означает тильда?
2. Не понятно, что делает макрос TOGLEBIT Добавлено спустя 7 минут, 4 секунды 3. будут ли эти макросы работать если будет не однобайтовый char переменная, а допустим двухбайтовый int
Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
M9IC писал(а):
1. Что в С++ означает тильда?
А по логике не догадываетесь? . Инвертирование. Сначала сдвигается единица влево на нужное расстояние, потом это всё инвертируется и логически исходное число умножается на полученное выражение. Таким образом измениться(обнулиться) может только запрошенный бит.
M9IC писал(а):
2. Не понятно, что делает макрос TOGLEBIT
Ну тут наверное закралась ошибка в перевод - переключение бита(либо из 0 в 1, либо из 1 в 0).
M9IC писал(а):
3. будут ли эти макросы работать если будет не однобайтовый char переменная, а допустим двухбайтовый int
Конечно будут. Для корректной работы достаточно не выходить за размеры переменной. Кстати, int далеко не везде двухбайтовый .
M9IC Ага. Вы уважаемый не в ту ветку попали. Тут чистый С или С++ обсуждать надо. CString - это кусок MFC, т.е. - MS Visual C++.
Но если по теме - CString - это класс. Квадратные скобки - перегруженный оператор. Он аналогичен вызову GetAt(index). У вас выходит temp.GetAt(i) |= (1<<BIT); Если хотите макросами пользоваться - не пользуйтесь классами, возьмите обычную строку.
Прошу, подскажите тормозу, как сделать в Билдере 6-том, чтоб надатие клавиш A, S, D, F на клаве надимало 4 кнопки на форме, и каждое нажатие увеличивало переменную, и меняло один из 4-х объектов Lable (1.. 2.. 3..)
Надо как-то сделать ручной счетчик на 4 типа объектов.
Если кто подскажет - ну тоже постараюсь отблагодарить - ато резко понадобилось, а я С++ уже года два не открывал - все блин забыл - ПОЖАЛУЙСТА ПАМАГИТЕ!
Member
Статус: Не в сети Регистрация: 15.06.2007 Откуда: Одесса
Пытаюсь уже два дня вникнуть в перезагрузку функций, но никак не могу понять одну строчку))
Код:
long max_element(int n, int array[]) // Функция для массивов с элементами типа int. { int value = array[0]; for (int i = 1; i < n; i++) value = value > array [i] ? value : array [i] ; cout << "\nFor (int) : "; return long(value); }
Расшифруйте мне пожалуйста подробно, что это за строчка, а точнее зачем там знак вопроса и двоеточие (нигде этого не учила)
value = value > array [i] ? value : array [i] Что-то вроде: оператор валуе равен валуе, который больше числа [i] массива аррей, а дальше ничего не ясно :(
_________________ Ув. модераторы. Прежде, чем наказывать меня за что-то, - посоветуйтесь со мной. Я вам запрещу
Member
Статус: Не в сети Регистрация: 07.10.2003 Откуда: Russia, Moscow
это не перегрузка функций, это условный переход (иф)
value = ( value > array [i] ? value : array [i] )
первое - условие, второе - подставляется при истине, третье при лжи.
вопрос и двоеточие - разделители.
то же самое:
if (value>array[i]) value=value; else value=array[i];
_________________ В поиске включайте "Искать все слова". Избегайте многоточий.
Зачем нужен разгон? http://tsc.overclockers.ru
Advanced member
Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
О-ла-ла О ля ля... Условный оператор ? : , кто ж тебе хелпик не поставил-то на компьютер?
И читать надо так : переменной value будет присвоено значение value в случае, если value > array [i] истинно, иначе переменной value присваивается значение array [i] Добавлено спустя 1 минуту, 39 секунд Опаньки, опоздал.... Совсем старый стал.... А какой девушка красивый был, эх
Member
Статус: Не в сети Регистрация: 15.06.2007 Откуда: Одесса
zauropod У меня столько книг и хелпиков... только не смогла найти ничего похожего) а на форуме есть очень добрые гуру, которые всегда расскажут лучше, чем любой хелп **косицца на zauropod и armadillo**
_________________ Ув. модераторы. Прежде, чем наказывать меня за что-то, - посоветуйтесь со мной. Я вам запрещу
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения