Size: a a a

2020 August 22

hh

horse horssyyy in supapro.cxx
Подскажите, такой вопрос философский. Если я в своей программе везде буду использовать shared_ptr для всех создаваемых объектов, я могу ожидать что все будет работать как я привык в джавах там всяких или джаваскрипте? Просто количество способов управлять памятью немного вгоняет в шок
источник

hh

horse horssyyy in supapro.cxx
Допустим не берем во внимание циклические ссылки
источник

0

0xFF in supapro.cxx
Какой указатель в каких случаях использовать? (Из умных)
источник

Е

Егор in supapro.cxx
horse horssyyy
Подскажите, такой вопрос философский. Если я в своей программе везде буду использовать shared_ptr для всех создаваемых объектов, я могу ожидать что все будет работать как я привык в джавах там всяких или джаваскрипте? Просто количество способов управлять памятью немного вгоняет в шок
не надо писать на с++ как на джаве
источник

hh

horse horssyyy in supapro.cxx
Я просто уже двадцатый раз читаю про ссылки, рвалуе ссылки, константные ссылки, пять видов констоукторов и т.д. мув сементику и т.д. и меня не покидает ощущение что может проще гонять шаред поинтеры и забить на это все?
источник

0

0xFF in supapro.cxx
horse horssyyy
Я просто уже двадцатый раз читаю про ссылки, рвалуе ссылки, константные ссылки, пять видов констоукторов и т.д. мув сементику и т.д. и меня не покидает ощущение что может проще гонять шаред поинтеры и забить на это все?
Так лучше не делать)
источник

Е

Егор in supapro.cxx
horse horssyyy
Я просто уже двадцатый раз читаю про ссылки, рвалуе ссылки, константные ссылки, пять видов констоукторов и т.д. мув сементику и т.д. и меня не покидает ощущение что может проще гонять шаред поинтеры и забить на это все?
если тебе лабу сделать то можешь писать как хочешь, если хочешь нормальный с++ код - потрать недельку и разберись
источник

Е

Егор in supapro.cxx
сначала шаредами обмажутся, потом будут вектор через наследование расширять и все функции виртуальными делать
источник

hh

horse horssyyy in supapro.cxx
Егор
если тебе лабу сделать то можешь писать как хочешь, если хочешь нормальный с++ код - потрать недельку и разберись
Да ту не достаточно прочитать теорию. Надо полностью перестроиться ментально
источник

Е

Егор in supapro.cxx
horse horssyyy
Да ту не достаточно прочитать теорию. Надо полностью перестроиться ментально
разные языки - разные подходы, что делать
источник

hh

horse horssyyy in supapro.cxx
А чем плохо везде шаред поинтеры?
источник

Е

Егор in supapro.cxx
horse horssyyy
А чем плохо везде шаред поинтеры?
тем что у нас есть более подходящие инструменты для передачи значений в/из функций, ну и по мелочи там внутри атомики и это может по перфомансу ударить
источник

hh

horse horssyyy in supapro.cxx
Ну рк передаете вы ссылку в функцию
источник

hh

horse horssyyy in supapro.cxx
Она на уровне ассемблера все равно передаётся как указатель
источник

hh

horse horssyyy in supapro.cxx
Ладно в шаред поинтере там еще счётчик
источник

hh

horse horssyyy in supapro.cxx
Согласен не эффективно
источник

Е

Егор in supapro.cxx
horse horssyyy
Ну рк передаете вы ссылку в функцию
если ты сделаешь вот так
void foo(std::string& value);
int main() {
 auto str = std::make_shared<std::string>("fooo");
 foo(*str);
вместо
std::string foo("foo");
::foo(foo);
То у людей читающих твой код сразу возникнут вопросы, а зачем тут вообще шаред, и на кодревью будешь оправдываться мол да мне лень было разбираться там сложно чета
источник

VS

Vlad Serebrennikov in supapro.cxx
horse horssyyy
А чем плохо везде шаред поинтеры?
примерно по той же причине, по которой для разных данных используются разные типы
источник

VS

Vladimir Suisei in supapro.cxx
horse horssyyy
Я просто уже двадцатый раз читаю про ссылки, рвалуе ссылки, константные ссылки, пять видов констоукторов и т.д. мув сементику и т.д. и меня не покидает ощущение что может проще гонять шаред поинтеры и забить на это все?
Просто используй готовые контейнеры и не выделяй сам память
источник

VS

Vladimir Suisei in supapro.cxx
horse horssyyy
Подскажите, такой вопрос философский. Если я в своей программе везде буду использовать shared_ptr для всех создаваемых объектов, я могу ожидать что все будет работать как я привык в джавах там всяких или джаваскрипте? Просто количество способов управлять памятью немного вгоняет в шок
Просто берешь и не используешь все это незнакомое добрецо пока оно тебе не понадобится. Когда понадобится - тогда разберешься.
источник