170 похожих чатов

Друзья, такой вопрос, как понять, что готов к собесам? Хочу

на стажку в Яндекс или Тинькофф, алгосы подтянул, но с плюсами не понятно. Типо какие темы и тулзы нужно обязательно знать, чтобы уже смело подаваться?

51 ответов

70 просмотров

Есть такая тема - C++ - знаешь?

В закрепе многое есть

Andrey- Автор вопроса
Ilya Zviagin
Есть такая тема - C++ - знаешь?

Не уверен, поэтому спрашиваю, насколько хорошо нужно знать

Никак. Поймешь только когда придешь на собес

Ну давай идиотские вопросы позадаём... У тебя есть массив типа, скажем, T, какого-то размера. Как вставить в середину массива новый элемент T tn ?

Ilya Zviagin
Ну давай идиотские вопросы позадаём... У тебя ест...

Правильный ответ далеко не на поверхности, кстати

Возьму ответственность на себя ответить нормально Идите на собес. Если задаёте такие вопросы, то Вам ещё учиться и учиться. Мы можем ответить, что нужно знать стл, о таблице виртуальных методов, исключения в деструкторе и все прочее, что написано в интернетах в соответствующих статьях. К сожалению это неправда и только воля случая знает, что от вас захотят. На собесов штук эдак 5 сходите, уже легче будет

На ютубе поищи "c++ собеседование"

Ты никогда не будешь готов. Всегда найдется вопрос, на который ты не будешь знать ответа. На собесе людям важно, как ты думаешь, и умеешь ли вообще это делать ) Иди, пробуй, не получится - пробуй еще.

Andrey- Автор вопроса
Ilya Zviagin
Ну давай идиотские вопросы позадаём... У тебя ест...

если места нет, то создать новый массив в два раза больше и переписать с новым элементом, а если есть то вставить и передвинуть остальные?

Andrey- Автор вопроса

Не рядом с ноутом, неудобно с телефона

Andrey
Не рядом с ноутом, неудобно с телефона

массив имеет фиксированный размер, там не может быть лишнего места

Ilya Zviagin
Ну давай идиотские вопросы позадаём... У тебя ест...

Подскажи, пожалуйста, вставить в середину массива это подразумевается положить в ячейку памяти, что находится примерно в середине массива какую то информацию (но тогда мы теряем информацию, что там была до этого, если конечно не сохраним ее еще куда нибудь) или же ты подразумеваешь слово вставить, как раздвинуть и вставить между имеющимися? Опять же не совсем понятно используя имеющиеся ячейки массива или допускается увеличивать количество ячеек? Если увеличивать, то насколько я знаю (но могу ошибаться), нельзя просто так взять и добавить ячейку следующую к массиву, так ка не факт, что она свободна, это решает new какую область памяти выделить, получается, если все таки надо раздвинуть, то требуется сначала выделить новую область памяти большего размера, чем имеющийся массив. И только потом туда что то вставлять из старого массива и плюс новое значение. Вот непонятно что означает вставить в твоем вопросе, вставить в имеющиеся ячейки (с потерей данных что были до этого там) или вставить между.

Ilya Zviagin
Ну давай идиотские вопросы позадаём... У тебя ест...

а типа вставить просто через индекс .size() / 2 не прокатит?

The Pressbraker
Подскажи, пожалуйста, вставить в середину массива ...

вставка подразумевает вставку, помещение нового элемента в любое место контейнера

floy.
а типа вставить просто через индекс .size() / 2 не...

Возможно речь идет вообще о Си-шных массивах.

The Pressbraker
Подскажи, пожалуйста, вставить в середину массива ...

Это ВСТАВИТЬ новый элемент int v[10] = {0,1,2,3,4,5,6,7,8}; Надо вставить новое число после 5ти

так он думал, что нужно просто зареплейсить, а не заинсертить элемент

Ilya Zviagin
Раздвинуть и вставить

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

Ilya Zviagin
Ну про size ещё тоже интересно!

так для сишного вроде бы надо будет sizof(v)/sizeof(v[0])

serfcity -fsanitize=undefined,address
Для этого нужен список. Либо нужно выделить массив...

Массив какого размера подскажите? Так чтобы прямо вставить можно было Аж интересно

serfcity -fsanitize=undefined,address
Для этого нужен список. Либо нужно выделить массив...

поздравляю 🎉, вы изобрели динамический массив, или же std::vector

Aniki Hi$ok@ 🌈 Z 🐀
массив имеет фиксированный размер, там не может бы...

Это зависит от того, что ты понимаешь под массивом.

Viktor Chyzhdzenka
Это зависит от того, что ты понимаешь под массивом...

Для меня массив это просто кусок непрерывного адресного пространства. Что можно ещё под ним понимать?

serfcity -fsanitize=undefined,address
Для меня массив это просто кусок непрерывного адре...

Это мало. У тебе он может с неизменяемым размером или изменяемым. Он может занимать всю доступную память или не всю.

Покажете мне на ассемблере как поменять размер объекта на стеке?

serfcity -fsanitize=undefined,address
Покажете мне на ассемблере как поменять размер объ...

На верхушке стека я тебе любой размер (допустимый) задам.

Viktor Chyzhdzenka
На верхушке стека я тебе любой размер (допустимый)...

Выделить можно. Как VLA или alloca делают. А изменить как?

serfcity -fsanitize=undefined,address
Выделить можно. Как VLA или alloca делают. А измен...

Выделить, скопировать и забыть про старый. По раскрутке стека всё свободится. Перевесить указатель.

Viktor Chyzhdzenka
Выделить, скопировать и забыть про старый. По раск...

Ну так это не изменение размера. Это и есть выделение нового, копирование, удаление старого.

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта