Тем что он для этого не предназначен? "Хабр - не место для копипастеров".
Да и в принципе я не замечал что бы люди обсуждали там работы аспирантов и учёных. По крайней мере при наличие оригинала публикации и с участием самих.
@kirill89 Не понял как из данного ответа следует вопрос, но, напрмер, можно возвращать константную ссылку. Если Вы про объект класса MyObjectCollection, то его можно возвращать по значению и вопрос об уничтожении также отпадает.
Пользователю ничего удалять не нужно. Напишите обёртку над контейнером, которая всё удалит в деструкторе.
Геттеры обычно имеют спецификатор const.
Бывают, конечно, случаи когда нужно вернуть голый указатель, но тогда позаботьтесь о нормальном имени метода. Из названия find совершенно неочевидно (даже наобоброт), что вернётся аллоцированная память.
И всё же скорей всего Вам нужно просто позаботиться о нормальной обёртке над указателем/контейнером.
1. На основе чего сделан вывод, что не отработала параллелизация?
2. Вы уверены что компилятор не выкинул циклы за ненадобностью? (На -O0 вреадли, но проверить стоит).
3. Вы уверены, что на -O0 вообще должна запускаться автопараллелизация?
В общем оформите вопрос так чтобы было понятно что именно произошло и как это проявилось. Приведите дампы компилятора/ассемблер.
@Free_ze
Всё немного сложнее. Если бы лично мне нужно было вспомнить C++, то я бы даже не спрашивая взялся за Страуструпа (благо редакцию по стандарту 2003 года я читал). Дело в том, раньше для меня C++ был основным языком, но я уже около двух лет пишу на Си. И вот сейчас в коллективе, где только Си программисты меня как единственного человека, имевшего хоть какой-то опыт с C++ попросили рассказать про него. Поэтому я думал, что были и другие люди в подобной ситуации, и есть какая-то наработанная методика по преподаванию C++ для программистов Си.
@justaguest О, я совершенно серьёзно :) Как уже сказал @bak нужно просто один раз основательно покопаться, написать себе шпаргалку и потом можно будет легко им пользоваться. Кроме того умение пользоваться vim выручит в ситуациях когда больше ничего нет. Иксов, например :)
Я вообще считаю, что при обучении программированию первое время IDE лучше не использовать, т.к. теряется нить того что происходит по пути от программы к исполняемому файлу. Т.е. лучше сначала привыкнуть выполнять атомарные операции: vim; gcc; ./a.out; gdb а потом уже, когда есть осознание происходящего можно понять для чего нужно IDE, какие его фичи нужны
@Rsa97 В этой же книге сказано, что её ещё неплохо бы приведённое допилить напильником, и что там есть одно противоречие в грамматике. Не криминал, конечно, но показательно. Не, даже в стандарте есть описание грамматики на 15 страниц. Только я не видел ни в gcc ни в clang чтобы её использовали в чистом виде (в смысле подавали в bison). Даже в перле есть вполне рабочий .y файл, но сишные фронтэндщики делают всё руками.
Я предполагаю, что в случае с Си это удобней, т.к. можно одним парсером съедать сразу несколько стандартов. Например, в gcc'шном фронтэнде судя по коду есть warning'и для Obj-c.
@uhbif19 работать будет гораздо проще чем с чистым кодом. Промежуточное представление будет скорей всего в ssa (Static single assignment) форме, легко будет строить аналитические структуры. Часто бывает, что промежуточных представлений несколько. Чем более поздняя фаза компиляции, тем ближе к машинному представлению. При понижении уровня можно потерять часть информации (особенно касается C++), но это отразится только на качестве оптимизаций.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.