|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|
Собеседование std::vector14.08.2015, 17:50. Показов 4026. Ответов 29
Метки нет (Все метки)
1)
Вечереет. Вы крутой старший разработчик, сидите и делаете вид, что кодите мегапроект. У вас через полчаса собеседование. Вы предвкушаете базар ни о чем и обо всем, а также уже давно приготовили кучу пыточных вопросов, которые будут скрашивать ваше совместное времяпрепровождение. Внезапно вы чуете приближающегося техдира <> (подставить любое ненавистное имя) за спиной, степенно жмете Alt+tab, переключаясь с крайне интересных приложений на куда менее интересные. Начинается диалог. - Здаров! У тебя через полчаса собеседование, помнишь? - Канешн помню! - Так вот, слушай сюда внимательно. Спрашиваешь только про std::vector и все, что к нему относится? Понял? - ...? - Ну так понял? - Да понял я, понял. Техдир уходит удовлетворенным. На вас же нападает такое сильное вдохновение к построению многоэтажных зубодробительных языковых конструкций, что вы не можете удерживать это внутри себя: ### ##### ##### ### ###### ##############! Ну что, народ? Что спрашивать-то с вами будем? Соискатель вроде не совсем дурак, как проверим его только с помощью std::vector? 2) Если б это был я, то первые два вопроса, которые пришли б в голову: при перераспределении памяти какой новый объем мы выделяем и почему именно такой? напишите реализацию push_back (кодом, можно схематично) Может кстати кто-нибудь хочет на них ответить?
1
|
|
| 14.08.2015, 17:50 | |
|
Ответы с готовыми решениями:
29
Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию? Как изменять размер std::vector<std::vector>? |
| 14.08.2015, 19:26 | |
|
Ээээ... Я конечно ничего в этом не понимаю, но если бы понимал - дал бы просто одну задачку: написать свой вектор, лучше (в определенном смысле разумеется) Степановского стд-шного. А лучше 2-3 варианта своих векторов, которые будут лучше стд-шного в разных смыслах
4
|
|
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||
| 14.08.2015, 19:41 | ||
|
1
|
||
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,893
|
|||||||
| 14.08.2015, 23:18 | |||||||
|
1) удаление n-го элемента в векторе (чем больше вариантов тем лучше); 2) ужатие вектора в C++03 и C++11.
1
|
|||||||
|
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
|
|
| 15.08.2015, 00:43 | |
|
Из не так давно читанной мной книжки: "Как по-настоящему удалить элементы из вектора".
1
|
|
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||
| 15.08.2015, 17:43 [ТС] | |||||
Даже с одним вариантом. Это только на первый взгляд кажется, что написать вектор можно просто и быстро. Ты кстати никогда сам не копался в коде std::vector?Второй вопрос поинтереснее будет. Там есть pitfall, на который в свое время напоролась даже реализация STL от MS. ![]() Кстати вот вопрос еще. Если мы сделаем v1 = std::move(v2); то потом можно работать с v2? Если да, то как?
1
|
|||||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||
| 15.08.2015, 18:07 | ||
|
2) Спросить про emplace, зачем он нужен. Почему просто не использовать push_back + move? 3) Спросить почему pop_back не возвращает элемент. И какие были бы проблемы если бы возвращал? 4) Спросить когда предпочтительнее vector, а когда list. И почему в ситуаяциях, когда ожидаются частые вставки в середину, vector все же может быть предпочтительнее чем list.
2
|
||
|
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
|
||
| 15.08.2015, 18:57 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 15.08.2015, 20:49 | ||||
|
Добавлено через 1 минуту поскольку на плюсах не существует никакого "by default" контейнера. разные контейнеры под разную задачу. Добавлено через 1 минуту
0
|
||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 15.08.2015, 21:11 | |
|
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
| 15.08.2015, 22:05 | ||||||
|
Но если цель данной темы собрать наиболее интересные вопросы, то я бы выделил следующие (помимо уже упомянутых): - Что такое std::vector; - В какую часть контейнера элементы вставляются максимально эффективно; - В чем особенность внутренней реализации по сравнению с другими контейнерами; - Чем отличается reserve() от resize(), capacity() от size(); - Какие требования предъявляются к типу объектов, хранимых в контейнере; - Как эти требования изменились при переходе к C++11; - Для какого типа в библиотеке реализована специализация контейнера; - Чем отличается at() от operator[]. Добавлено через 10 минут ![]()
0
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 15.08.2015, 22:11 | |
|
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 15.08.2015, 22:16 | ||
|
Добавлено через 3 минуты
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 15.08.2015, 22:29 | ||
|
Не по теме: мне на собеседовании показали совершенно корректный код интрузивного указателя.
0
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||
| 15.08.2015, 22:38 [ТС] | |||||
|
Voivoid неявно упомянул exception safety, чем навел на вопрос: В каком случае при перераспределении памяти будет копирование элементов, а в каком - перемещение? И что будет, если конструктор копирования класса недоступен? ![]()
0
|
|||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
| 15.08.2015, 23:00 | ||||||
![]()
0
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||||||
| 15.08.2015, 23:04 | ||||||||||||
|
как здесь можно обломаться? не вижу никакой проблемы. между:
0
|
||||||||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 15.08.2015, 23:13 | ||
|
0
|
||
| 15.08.2015, 23:13 | |
|
Помогаю со студенческими работами здесь
20
Вывести значения std::vector<std::vector<int*> > Std::vector<std::pair<std::vector<int>::iterator, std::vector<int>::iterator>
Реализация класса MyString. Стандартная библиотека, std::string, std::vector Передача функции указатель на элемент std::vector<std::string> Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
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
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|