Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2

Кому интересно поломать голову

31.01.2015, 11:51. Показов 4176. Ответов 63
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!

Сейчас на работе думал с ума схожу - есть код, который (с виду) работать не должен, но он работает В итоге я разобрался почему он работает, но не сразу.

Предлагаю вам подумать в как и когда может работать данный код (выкладываю именно в том контексте, в который я смотрел, больше не скажу, не интересно будет)

C++
1
2
3
4
5
//где-то в классе
typedef std::set<ClassOne, ClassTwo> _Container;
 
// где-то в методе
return std::find(_Container::begin(), _Container::end(), predicate);
Если кто-то раскусит за 5 секунд, значит я переработал. Я реально минут 5 сидел в это втыкал
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.01.2015, 11:51
Ответы с готовыми решениями:

Кому интересно. Покер
Вообщем, давно ничего не кодил и на днях накатал немного говно кода на тему Покера. Кому будет интересно, посмотрите и предложите если...

Бинарные деревья ! кому интересно , сюда!;)
задание : Описать процедуру или функцию которая : а) печатает запись, встречающуюся в дереве один раз б) печатает запись,...

прога странно работает=) кому интересно покопать?
написал прогу по подсчету crc-16 (сама функция с википедии).. так вот... когда скармливаю файл (текстовыми кормлю) на несоклько килобайт (1...

63
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
31.01.2015, 11:56
Так не честно. У Вас то был весь исходник, а ни каких нарушений синтаксиса здесь нет.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
31.01.2015, 12:04  [ТС]
Цитата Сообщение от taras atavin Посмотреть сообщение
У Вас то был весь исходник
да, но я смотрел только в эти строки, потом дошло куда еще нужно посмотреть.

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
а ни каких нарушений синтаксиса здесь нет.
вот это
Цитата Сообщение от Kastaneda Посмотреть сообщение
C++
1
_Container::begin(), _Container::end()
не смущает?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
31.01.2015, 12:13
Может у класса std::sec есть статические методы begin() и end() ? Или это вообще синглтон..
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
31.01.2015, 12:13
А почему оно должно смущать? Если оно противоречит какому то другому тексту, так его надо показать, телепаты водятся на другом форуме.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
31.01.2015, 12:21  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
Может у класса std::sec есть статические методы begin() и end() ?
это обычный std::set, тот, который мы все с вами знаем. Я тоже грешным делом так подумал, даже документацию открыл. Но нет, конечно же никаких подобных статических методов там нет.

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
телепаты водятся на другом форуме.
Вопрос задан как раз с целью попробовать себя в телепатии кому-то может быть это интересно.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
31.01.2015, 12:21
Цитата Сообщение от Kastaneda Посмотреть сообщение
typedef std::sec<ClassOne, ClassTwo> _Container;
смущает std::sec.
Не понятно откуда это, и что это такое.

Цитата Сообщение от Kastaneda Посмотреть сообщение
std::find(_Container::begin(), _Container::end(), predicate);
Очевидно, раз это скомпилировалось, то у него есть итераторы, либо нечто, что ведет себя, как итераторы.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
31.01.2015, 12:21  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
Или это вообще синглтон..
нет
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
31.01.2015, 12:22
Kastaneda, что за std::sec ?
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
31.01.2015, 12:22  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
смущает std::sec.
аааа, сори, я всех в заблуждение ввел, очепятался. Там std::set
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
31.01.2015, 12:23
Цитата Сообщение от Kastaneda Посмотреть сообщение
это обычный std::set, тот, который мы все с вами знаем.
ээээ.... по вашему std::set, это std::sec ?
Не, такое положение вещей конечно смущает.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
31.01.2015, 12:26  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
ээээ.... по вашему std::set, это std::sec ?
выше написал уже, опечатка. Модераторам сообщил, думаю в скором времени поправят.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
31.01.2015, 12:27
Цитата Сообщение от Kastaneda Посмотреть сообщение
сори, я всех в заблуждение ввел, очепятался. Там std::set
ааа... ну так если это обычный std::set, тогда тут нет ничего не обычного.
хз, что вас могло смутить.


ааа... дошло. Вы их как статические цепляете.
Ну да. Это странно.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
31.01.2015, 12:31  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
хз, что вас могло смутить.
Может я гоню, но меня смутило конкретно вот это
C++
1
_Container::begin(), _Container::end()
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
31.01.2015, 12:31
Возможно, _Container во 2-й и 5-й строках - разные сущности. Нет?
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
31.01.2015, 12:36  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
Возможно, _Container во 2-й и 5-й строках - разные сущности. Нет?
нет, одна
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
31.01.2015, 12:37
Цитата Сообщение от Kastaneda Посмотреть сообщение
Может я гоню, но меня смутило конкретно вот это
ну очевидно, что раз это скомпилировалось, значит он нашел подходящие.

Это либо статические члены, либо неймспейс.
Надо смотреть контекст.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
31.01.2015, 12:48  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
Это либо статические члены, либо неймспейс.
Надо смотреть контекст.
Ни то ни другое. В 5-й строке используется именно тот _Container, который во второй строке, т.е. именно std::set.

Добавлено через 1 минуту
можно перефразировать вот так
C++
1
return std::find(std::set<type1, type2>::begin(), std::set<type1, type2>::end(), predicate);
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
31.01.2015, 12:58
Цитата Сообщение от Kastaneda Посмотреть сообщение
можно перефразировать вот так
хз. мож у вас там cl, и запись в шаблоне, который не был инстанцирован, а cl в таких случаях позволяет писать любую ботву.

Нужно видеть контекст.
Гадать лень.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
31.01.2015, 13:09  [ТС]
Ладно, похоже предположений может быть действительно много. Короче предыдущий разработчик решил что вот так будет очень удобно

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
class MyClass : public std::set<type1, type2> 
{
 
typedef std::set<type1, type2> _Container;
 
public:
    some method()
    {
        return std::find(_Container::begin(), _Container::end(), predicate);
     }
};
Вот эта строка
C++
1
class MyClass : public std::set<type1, type2>
реально в коде выглядит очень страшно (там множественное наследование + 100500 темплейтов), поэтому я решил туда посмотреть в последнюю очередь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.01.2015, 13:09
Помогаю со студенческими работами здесь

Шифрование "Лозунговым методом" (кому интересно)
Вот работа была сделал -&gt; делюсь:) #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include...

В чем интересно загвоздка???интересно разобраться!
Помогите разобраться в чем дело? Switch постоянно зацикливается и бесконечный цикл получается если вводить символы вместо цифр как от этого...

Уважаемые! Хотите немного поломать голову!?
Вообщем сижу, туплю... а бошка совсем не варит, всю ночь не спал(думаю всем знакомо это очучение) а тут на тебе задачку дали... Вообщем...

Задача для любителей поломать голову
Вот наткнулся на задачу Расшифруйте! Подсказка- 2 шага http://s3.uploads.ru/QGrIM.png

Открыта вакансия Программиста 1С - кому интересно?
Добрый день! Меня зовут Анна и я являюсь представителем кадровой компании, работаю как официальный представитель многих компаний города...


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

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru