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

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

31.01.2015, 11:51. Показов 4084. Ответов 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
Закрытая тема Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru