|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 24
|
|
Можно ли сравнивать потоки?02.03.2012, 05:39. Показов 6554. Ответов 41
Метки нет (Все метки)
А точнее, проверять их на равенство? Скажем, допустимо ли в перегруженном операторе ввода использовать конструкцию if (stream == cout), и будет ли она корректно работать?
0
|
|
| 02.03.2012, 05:39 | |
|
Ответы с готовыми решениями:
41
Можно ли сравнивать строковые литералы? как правильно это сделать? Как можно сравнивать в структуре числа и выводить на экран по возрастанию, если структура находится в файле? О потоках std::thread: можно ли вложить потоки друг в друга и можно ли создать динамический массив потоков? |
|
40 / 40 / 7
Регистрация: 21.02.2012
Сообщений: 95
|
|
| 02.03.2012, 13:20 | |
|
Nameless One, что? если один поток фэйл они точно будут не равны даже если одного типа.
если оба потока гуд - то вернется this дочернего класса который подставится в сравнение
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||
| 02.03.2012, 13:25 | ||
|
Luke, где гарантии, что у других компиляторов (или на другой платформе) или у новой версии MinGW будет точно такое же поведение?
0
|
||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||||
| 02.03.2012, 13:28 | |||||||
|
Вот тебе пример:
Ну и еще раз цитата из стандарта:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 24
|
||||||||||||
| 02.03.2012, 13:49 [ТС] | ||||||||||||
Текущий вариант функций:
0
|
||||||||||||
|
40 / 40 / 7
Регистрация: 21.02.2012
Сообщений: 95
|
||
| 02.03.2012, 14:01 | ||
|
речь шла о сравнении потоков, по какому признаку они сравнивались в языке - другой вопрос. я привел пример с this, если в НОВОМ стандарте возврат this не гарантирован значит вернется некий "другой" уникальный идентификатор, по которому и пройдет сравнение. ну а для системы они в любом случае 2 разных потока и вряд ли язык в какой либо реализации станет противоречить этому
0
|
||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||
| 02.03.2012, 14:06 | |||
|
0
|
|||
|
40 / 40 / 7
Регистрация: 21.02.2012
Сообщений: 95
|
||
| 02.03.2012, 14:13 | ||
|
Nameless One,
про уникальность идентификатора потока..ну например в API твоей системы. а тебя послушать так язык с его библиотекой будет противоречить устройству той системы на которой будет запускаться, давая идентичные идентификаторы для разных потоков и делая невозможных их различение. проведи тест. посмотри что в регистрах при сравнениях будет
0
|
||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||
| 02.03.2012, 14:17 | |||
|
0
|
|||
|
40 / 40 / 7
Регистрация: 21.02.2012
Сообщений: 95
|
||
| 02.03.2012, 14:20 | ||
|
что в "старом" стандарте при операции сравнения дергался operator void*(), возвращавший либо 0 либо this регистры при том, что там ты увидишь искомое значение, которое поможет тебе понять чем отличается cin от cout при их сравнении через ==
0
|
||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|||||||||||
| 02.03.2012, 14:20 | |||||||||||
|
Kravensky, А чего б тебе не попробовать такой код
Вообще, если б это был просто Си, я бы ответил ДА.
0
|
|||||||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||
| 02.03.2012, 14:29 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 24
|
|
| 02.03.2012, 14:31 [ТС] | |
|
Байт, я ж в первоначальном варианте пробовал. Но, судя по прошлым постам темы, большинство сходится в том, что так делать нельзя. И, так как я сейчас на эксперименты не настроен, предпочитаю более понятный лично мне метод - перегрузку. Но как перегрузить на конкретный параметр, я не знаю.
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 02.03.2012, 14:32 | |
|
1
|
|
|
40 / 40 / 7
Регистрация: 21.02.2012
Сообщений: 95
|
|||||||
| 02.03.2012, 14:44 | |||||||
|
Kravensky,
2
|
|||||||
|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 24
|
||||||
| 02.03.2012, 14:54 [ТС] | ||||||
|
Luke, дык в c++ потоки не указателями реализуются, вроде. А классами.
0
|
||||||
|
40 / 40 / 7
Регистрация: 21.02.2012
Сообщений: 95
|
|
| 02.03.2012, 14:58 | |
|
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|||||||
| 02.03.2012, 15:06 | |||||||
Если я не прав, пусть товарищи меня поправят.
1
|
|||||||
|
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 24
|
|
| 02.03.2012, 15:07 [ТС] | |
|
BRcr, не помогло, к сожалению.
0
|
|
|
|
|
| 02.03.2012, 15:12 | |
|
Kravensky, если вам надо только cout и еще какой-то один поток отличать, тогда сравнение по адресу cout, как предложил Luke, является, пожалуй, простейшим вариантом.
1
|
|
| 02.03.2012, 15:12 | |
|
Switch. Можно ли сравнивать строки? Как можно сравнивать 2 файла по названию Можно ли сравнивать два метода, вычисляющих площадь?
Как можно сравнивать поля двух подчиненных форм? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|