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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
#1

std::ios::hex или std::ios.hex - C++

24.11.2011, 15:30. Просмотров 1255. Ответов 1
Метки нет (Все метки)

привет

в коде встретил вот такую строчку
C++
1
ss.setf(std::ios.hex, std::ios::basefield);
и на VS2008 это работает.

Разве это не синтаксическая ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2011, 15:30     std::ios::hex или std::ios.hex
Посмотрите здесь:

C++ зачем часто писать std:: если можно один раз using namespace std?
[BMP] HEX (из HEX-редактора) в DEC C++
ofstream std::ios::binary C++
Стоит ли очищать в деструкторе std::map , std::vecotor? C++
Какая реализация лучше? std::pointer_to_binary_function vs std::function C++
C++ Стандартный поток и STL (std::copy to std::cout)
Std::count << std::hex << (long) 0x0a; Как сделать, чтоб от HEX значения ноль при выводе не убирался? C++
C++ Std::ios::binary зачем нужно это для записи структур
Если HEX одного файла заменить на HEX другого, то изменится ли файл и будет ли работоспособным? C++
Как узнать, находится ли std::cout в hex-режиме? C++
C++ Как можно еще использовать std::placeholders вне в связки с std::bind?
C++ В чем отличия между std::cref() и std::bind()?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
24.11.2011, 16:03     std::ios::hex или std::ios.hex #2
Цитата Сообщение от PointsEqual Посмотреть сообщение
привет

в коде встретил вот такую строчку
C++
1
ss.setf(std::ios.hex, std::ios::basefield);
и на VS2008 это работает.

Разве это не синтаксическая ошибка?
Да, это не должно работать, так как std::ios - это имя типа. Очевидно, что это баг компилятора.

Добавлено через 25 минут
PointsEqual,

Вообще-то, вопрос не такой простой, как мой первоначальный ответ.
Согласно стандарту ios определяется как

C++
1
typedef  basic_ios<char> ios;
Если бы ios был бы не именем typedef, а именем класса, то его можно переопределить. Например,

C++
1
2
3
4
5
struct A { static const int i = 10; };
 
A A;
 
int j = A.i;
Это соврешенно корректный код
Поэтому важно знать, как выглядет объявление ios в версии MS VC++ 2008 года.
Yandex
Объявления
24.11.2011, 16:03     std::ios::hex или std::ios.hex
Ответ Создать тему
Опции темы

Текущее время: 08:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru