Сообщество - Лига программистов C/C++
Добавить пост

Лига программистов C/C++

60 постов 4 756 подписчиков

Популярные теги в сообществе:

Язык программирования C иностранным языком не признали.

В продолжении вялотекущего судебного разбирательства  http://pikabu.ru/story/programmistyi_na_c__samyiy_bolshoy_ra...

Думаю некоторым будет интересно, что же там происходит:)

Язык программирования C иностранным языком не признали. C++, Программирование, Суд

По итогу 02.06.2016 суд решил признать незаконным решение ФАС.


Из приведенных заключений экспертов следует, что изображение, размещенное обществом на рекламном баннере, не является надписью или текстом на иностранном языке, а представляет собой фрагмент кода компьютерной программы, выполненной на языке программирования С++


С полным текстом решения можно ознакомится тут http://kad.arbitr.ru/PdfDocument/0235635f-01ce-4589-aaff-fe8...


Но антимонопольная служба так просто не сдается и подала апелляцию.  Следующее заседание назначено на 03.08.2016.

Показать полностью

Реализация кортежа на C++11

Кортеж — это упорядоченный набор фиксированной длины. В отличие от массива, кортеж может содержать элементы разных типов.

В языке Python кортеж является стандартным типом данных и позволяет делать вот так:

Реализация кортежа на C++11 Программирование, Языки программирования, C++, Длиннопост

Но Python использует динамическую типизацию, а в C++ типизация статическая. Как же создать подобную структуру и не сломать систему типов? Используем C++11 и одну и главных особенностей этого стандарта — шаблоны с переменным числом аргументов (variadic templates).

Обычные шаблоны используются в C++ повсеместно, большинству они знакомы. Шаблоны с переменным числом аргументов позволяют передавать произвольное число параметров в шаблон. Вот небольшой пример, демонстрирующий эту возможность языка:

Реализация кортежа на C++11 Программирование, Языки программирования, C++, Длиннопост

Теперь, собственно, реализация кортежа. Для этого мы воспользуемся рекурсивным наследованием структур. Так выглядит объявление структуры:

Реализация кортежа на C++11 Программирование, Языки программирования, C++, Длиннопост

Также нам понадобится вспомогательная структура, позволяющая получить тип элемента по его индексу и тип оставшейся части кортежа:

Реализация кортежа на C++11 Программирование, Языки программирования, C++, Длиннопост

Теперь мы можем написать функцию доступа к элементу по его индексу:

Реализация кортежа на C++11 Программирование, Языки программирования, C++, Длиннопост

Конечно, сам кортеж и доступ — это хорошо, но мы же хотим его создавать! Для этого сперва реализуем заполнение кортежа.

Реализация кортежа на C++11 Программирование, Языки программирования, C++, Длиннопост

Теперь легко реализовать и функцию создания кортежа. Почему не конструктор? В нем не работает автоматическое выведение типов, а мы же не хотим писать огромный список параметров ;)

Реализация кортежа на C++11 Программирование, Языки программирования, C++, Длиннопост

Ну и напоследок демонстрация того, что у нас получилось. Распаковку и групповое присваивание пока не демонстрирую, и так достаточно кода :P

Реализация кортежа на C++11 Программирование, Языки программирования, C++, Длиннопост

P.S. Не судите строго — это мой первый пост. Возможно тема покажется сложной, я не привожу здесь подробное объяснение. Пишите в комментарии что не понятно, постараюсь ответить.

Показать полностью 7

Советы падаванам C++ ( Часть 2 )

///////////////////////////////////////////////////

// Начальный курс создания компьютерных игр на C/C++

[0][1][2][2.5][3][4][5][5.5][6][6.2][7][7.2][8][9][9.2][10]

///////////////////////////////////////////////////

// Советы падаванам C++

[1]



Всем привет! :]


После первого поста количество подписчиков резко увеличилось в два раза, поэтому я решил не тянуть со вторым постом. :]

Сегодня в рубрике "Советы падаванам C++" у нас будут советы-привычки - те вещи, к которым нужно привыкнуть как можно раньше и использовать каждый день :]

Советы падаванам C++ ( Часть 2 ) Программирование, Курсы программирования, Обучение, C++, Dansken, Длиннопост
Советы падаванам C++ ( Часть 2 ) Программирование, Курсы программирования, Обучение, C++, Dansken, Длиннопост
Советы падаванам C++ ( Часть 2 ) Программирование, Курсы программирования, Обучение, C++, Dansken, Длиннопост
Советы падаванам C++ ( Часть 2 ) Программирование, Курсы программирования, Обучение, C++, Dansken, Длиннопост

Жду ваши отзывы в комментариях :]


И вот вам в тему пару весёлых картинок напоследок:

Советы падаванам C++ ( Часть 2 ) Программирование, Курсы программирования, Обучение, C++, Dansken, Длиннопост
Советы падаванам C++ ( Часть 2 ) Программирование, Курсы программирования, Обучение, C++, Dansken, Длиннопост
Показать полностью 6

Советы падаванам C++ ( Часть 1 )

///////////////////////////////////////////////////

// Начальный курс создания компьютерных игр на C/C++

[0][1][2][2.5][3][4][5][5.5][6][6.2][7][7.2][8][9][9.2][10]


Всем привет! :]


Количество подписчиков в группе перевалило за отметку 256, а значит нужно их чем-то порадовать. :) На полноценные посты об играх у меня сейчас к сожалению нет времени, поэтому попробую себя в новом формате. Встречайте новую рубрику мини-постов "Советы падаванам C++"! :]

Советы падаванам C++ ( Часть 1 ) Программирование, Курсы программирования, Обучение, C++, Dansken, Длиннопост
Советы падаванам C++ ( Часть 1 ) Программирование, Курсы программирования, Обучение, C++, Dansken, Длиннопост
Советы падаванам C++ ( Часть 1 ) Программирование, Курсы программирования, Обучение, C++, Dansken, Длиннопост
Советы падаванам C++ ( Часть 1 ) Программирование, Курсы программирования, Обучение, C++, Dansken, Длиннопост

P.S. Первый блин может быть комом, поэтому напишите пожалуйста в комментариях ваши мнения, пожелания и жалобы. Cya! :)

Показать полностью 4
Отличная работа, все прочитано!