Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр 2121 год. Технологии шагнули далеко за пределы самых смелых ожиданий, но за большим прогрессом стоит великая жертва...

Far Orion: Новые миры

Ролевые, Мультиплеер, Мидкорные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
muradon
muradon
9 лет назад

Обучение С++ №1 | Вывод информации (Code::Blocks)⁠⁠

Обучение С++ №1 | Вывод информации (Code::Blocks) Code::blocks, C++, Программирование, Обучение
Показать полностью 1
[моё] Code::blocks C++ Программирование Обучение
4
77
LemurS
9 лет назад
Лига программистов C/C++

Как начать понимать указатели⁠⁠

Тема указателей для многих является той точкой, на которой многие новички спотыкаются. Секрет такого ступора объясняется довольно просто, из мира языка С++ Вы погружаетесь в мир архитектуры компьютера и выполнения программ. Поскольку Вы его не знаете и почему-то авторы книг/курсов/статей не хотят Вас с ним знакомить, этот процесс может проходить довольно болезненно. В данном статье мы попытаемся устранить этот недостаток.

Любая программа перед тем как начать исполняться полностью загружает свой код в ОЗУ или проще говоря оперативную память. Оперативная память в урощенной схеме представляет из себя таблицу адресов и значений.


Есть такой термин как разрядность и применяется он для ОС, шины, адресного пространства. Он означает, сколько одновременно бит может обработать устройство. Вот один из примеров оперативной памяти с адресной разрядностью в 8 бит(2^8 = 256 адресов) и разрядностью шины 16 бит.

Как начать понимать указатели Указатель, Память, Программирование, C++, Длиннопост

Давайте посмотрим на примере простой программы, как это может работать в упрощенной схеме.

Как начать понимать указатели Указатель, Память, Программирование, C++, Длиннопост

После того, как компилятор пройдется по вашему коду, он заменит все ваши имена переменных на адреса и заполнит как-то так оперативную память

Как начать понимать указатели Указатель, Память, Программирование, C++, Длиннопост

Соответсвенно адрес у переменной не меняется и если мы присвоим ей новое значение, то оно изменится только в столбце "значение по адресу".

Вот мы и подошли к самому главному - указатель, это совершенно обычная переменная которая хранит АДРЕС. У нас есть переменные, которые хранят числа, которые хранят буквы, которые хранят строки. А теперь просто появились переменные, которые хранят адрес.


Что бы ОБЪЯВИТЬ указатель, достаточно указать перед именем переменной звездочку. Это даст понять, что в этой переменной вы будете хранить адрес определенного типа. На самом деле хранение в памяти значений намного сложнее, поэтому компилятору надо знать тип хранимого адреса, что бы правильно его получить из памяти.


Для работы с указателем используются две новые операции.

& - взятие адреса у какой-либо переменной

* - получение значение по адресу в указателе

Как начать понимать указатели Указатель, Память, Программирование, C++, Длиннопост

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


Удачи в обучении.

Показать полностью 3
[моё] Указатель Память Программирование C++ Длиннопост
60
16
omonar
omonar
9 лет назад
Лига программистов C/C++

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

Для жаждущих продолжения =)

В продолжении http://pikabu.ru/story/programmistyi_na_c__samyiy_bolshoy_ra...

и http://pikabu.ru/story/yazyik_programmirovaniya_c_inostranny...


В конечном итоге сегодня суд постановил:

"Оставить решение суда без изменения, жалобу без удовлетворения".

Антимонопольная служба с апелляцией обломалась, суд остался на стороне организации и ЯП "С++" иностранным языком не признал, а многие надеялись ;)

Язык программирования C иностранным языком не признали. Окончание. C++, Программирование, Суд
C++ Программирование Суд
3
532
stavropol
stavropol
9 лет назад
IT-юмор

Бокал для разработчиков⁠⁠

Бокал для разработчиков
Пиво C++ Программирование
49
620
omonar
omonar
9 лет назад
Лига программистов C/C++

Язык программирования 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++ Программирование Суд
98
22
0sennijLis
0sennijLis
9 лет назад
Лига Сисадминов

А так же "Системное администрирование за пол часа"⁠⁠

Пост о том, книги с какими заголовками не стоит даже брать с полки.

А так же "Системное администрирование за пол часа" Самоучитель, Android, C++, Программирование
А так же "Системное администрирование за пол часа" Самоучитель, Android, C++, Программирование
Показать полностью 2
Самоучитель Android C++ Программирование
11
Brtere
9 лет назад

Зов помощи к программистам⁠⁠

Привет, пикабу. Знаю что тут много программистов. Так вот, может быть кто-то из вас может посоветовать годные сайты или литературу(язык C++). Хочется по  проверенному изучать.Все таки выжпрограммисты. Спасибо. Кто любит минусить- для вас в комментах сюрпризик^^

C++ Программирование Помощь Тыжпрограммист Текст
81
76
MacFerden
MacFerden
9 лет назад
Лига программистов C/C++

Реализация кортежа на 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++ Длиннопост
119
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии