C/C++

#include зачем это? Попроще...

Я имею в виду вот есть класс, кусок кода, а данный код куда пишется? И ещё, я привык, есть переменная, и можно сделать так: х=у; смысл данной операции в том, что одной переменной присваивается значение другой. А зачем нужны кортежи? Как их делать? Это массивы? Где эта штука хранит значения, и зачем так делать в принципе?
Гаппар Кучеров
Гаппар Кучеров
12 377
"Я имею в виду вот есть класс, кусок кода, а данный код куда пишется?"

Проще всего никуда не писать.

"А зачем нужны кортежи?"

Для фиксированного кол-ва значений с разными типами.

"Как их делать?"

Руками согласно документации или примерам кода из проекта, с которым работаешь.

"Это массивы?"

Нет. Тут типы значений разные, а в массиве одинаковые.

"Где эта штука хранит значения"

Сам tuple (как и любой контейнер) устроен внутри как класс, внутри которого как-то хранятся данные. Как именно - точно неизвестно. Может, на стеке хранится, а может, и в куче. Но известно, что очищаются автоматически, то есть делать какой-то специальный delete, free и т. п. для устранения утечек памяти не надо.

"и зачем так делать в принципе?"

Да ни за чем, в общем-то. Редкая штука. Я помню, где использовал pair, а tuple вроде ни разу не приходилось пока. Но тебе же, нубу, не умеющему гуглить, теперь надо объяснять, что такое pair, и массив это или бутерброд с колбасой, да? И еще 5 вопросов задашь, не относящихся к теме?
Алексей Дубенко
Алексей Дубенко
92 464
Лучший ответ
Гаппар Кучеров #include - это то же? Вот переменная, там пишется сперва тип, потом имя, можно значение за знаком равенства, а эти штуки по какому принципу? Там имя чего слева и справа от знака равенства? 2 двоеточия и std нужны, или при добавлении using namespace std; это можно не делать?
Начнем с того, что #include - директива препроцессора и к языку программирования имеет крайне отдаленное отношение...
Зачем Аркадий Иванович?
Можно проще?
Например, АркИван +_-
include это директива препроцессора в C/С++. Которая говорить подключить что-то перед компиляцией. То есть перед компиляцией берется тот файл, который надо включить и вставляется в файл, где указан include https://docs.microsoft.com/ru-ru/cpp/preprocessor/hash-include-directive-c-cpp?view=msvc-160
А то, что в фигурных скобках тебе ничего не показывается, поскольку движок ответов режет все, что в фигурных скобках.
Про tuple тебе уже сказали. От себя добавлю ссылку с примером - https://en.cppreference.com/w/cpp/utility/tuple
Массивы хранят значения одного типа. Скажем массив целочисленных чисел, массив вещественных чисел. В С/С++ есть ещё структуры, это похоже на кортеж, там можно значения разных типов хранить, только там обычно каждое поле как-нибудь называется. А в кортеже у элементов нет каких-нибудь имен. В С++ структура считается частным случаем класса. Там тоже самое, что и в структуре, только ты ещё можешь методы делать (функции внутри класса) + ну и ещё навешивать модификаторы доступа на поля и методы, чтобы с ними можно было работать только внутри класса или только в потомках.
Гаппар Кучеров tuple,array,pair,vector,iterator... Есть ли в этом ряду что-то ещё? Структуры знаю, читал. И в принципе не всегда понятны различия между перечисленными понятиями...

Похожие вопросы