supapro.cxx - Популярные вопросы | Страница 1

supapro.cxx

Вопросов: 3249

Ответов: 32768

Популярные вопросы

NastyaMed
4/7/2021, 7:48:03 PM
Ответов: 75
Еще вопрос. Вот есть member list initialization, которую ввели из-за кривого выделения

памяти конструктором из-за того, что он для всех объектов память скопом выделяет. В итоге конструктор В С++11 превратился в странную структуру с пустыми фигурными скобками на конце: RatedPlayer::RatedPlayerunsigned int r, const TableTennisPlayer & tp : TableTennisPlayertp, ratingr {} Почему бы не перенести этот member list внутрь скобок и не инициализировать все там, раз уж в листе все и инициализируется?

zerdicorp
7/26/2021, 11:24:55 PM
Ответов: 73
Сижу уже минут 15 и не могу понять, как называется подобное действие?

P.S. да, это не работает, но вот с каких слов гуглить не пойму P.P.S. class A : public B B getSomeObject { return A...; } B b = getSomeObject; b.member_That_Only_A_has;

ddvamp
10/28/2020, 2:32:53 AM
Ответов: 63
Доброе утро, подскажите, что в данном контексте http://eel.is/c++draft/basic.lval#11 означает слово access? Его

смысл соответствует тому, на что оно ссылается, http://eel.is/c++draft/defns.access, или же тут более широкий смысл, который затрагивает и манипуляции нескалярами? Меня смущает слово dynamic в описании, так как в соответствии с http://eel.is/c++draft/basic.memobj#intro.object-1 и http://eel.is/c++draft/defns.dynamic.type, http://eel.is/c++draft/defns.dynamic.type.prvalue, http://eel.is/c++draft/defns.static.type динамический тип может быть лишь у полиморфных объектов, то есть типа класса, не скаляра, и почему бы тогда просто не написать "the type". И второй вопрос, говорит ли http://eel.is/c++draft/basic.lval#11.3, что скалярные/любые объекты, то есть память даже без объектов http://eel.is/c++draft/basic.memobj#basic.life-6.4 можно инспектировать как байты?

vladimirzenin
11/2/2020, 4:47:08 PM
Ответов: 10
Добрый день! Подскажите пожалуйста, почему может всё зависать при new char[size]? Задача

- аллокатор на связанном списке. Для первого чанка память выделяется нормально. Второй уже всё. Отладчик дальше строки с new char не идет. Переписал что бы было поменьше кода, вот минимальная версия где воспроизводится в полном коде есть деструкторы и прочее. https://pastebin.com/iq0PXLpG

mueslionelove
7/19/2021, 5:12:41 AM
Ответов: 62
Доброе утро. Можете посоветовать материал о том, как правильно реализовать логирование работы

программы? Чтобы любая ошибка на любой стадии работы сохранялась. В том числе краш программы

Аноним
5/29/2021, 5:14:40 PM
Ответов: 58
Я рот наооборот #include. Есть альтернативы?
NastyaMed
2/26/2021, 6:14:00 PM
Ответов: 57
Есть указатель, который вмещает в себя адрес памяти, количество байтов которое занимает

переменная и ее тип. Почему я не могу сказать укзателю, что теперь по этому адресу int, а не double?

ex_sales
7/26/2021, 11:13:15 AM
Ответов: 56
так а почему это UB, если двумерный массив лежит в памяти линейно?

Не сдвинемся ли мы просто на следующую строку?

SupaproBot
6/26/2021, 5:05:03 AM
Ответов: 55
Господа. Я новичёк. Прошу прощения если тут для супер гуру сообщество, а

я тут со своими глупыми вопросами новичков. Сейчас разбираюсь с рандомом и тут случился вопрос. Я понимаю как написать рандом от 1 до 10 ''' 1 + rang % 10 ''' Но я хочу сделать рандом от 3 до 9 Куда писать какое значение ? Ибо ''' 3 + rang % 9 ''' будет выдавать от 3 до 11

d7d1cd
12/25/2020, 4:29:31 AM
Ответов: 43
Что скажете об этом? https://habr.com/ru/company/ruvds/blog/533332/
xraydash
3/17/2021, 11:33:35 PM
Ответов: 52
А есть ли разница в скорости доступа по индексу к элементам вектора,

в сравнении с элементами сишного массива?

alexanderLamdan
12/28/2020, 3:55:43 PM
Ответов: 51
Какие варианты графических библиотек есть для C++? Кроме QT?
NastyaMed
3/22/2021, 4:08:24 PM
Ответов: 50
скажите, а вот здесь возвращается ссылка или значение this? в возвращаемом значении

фукнции ссылка, ноя не понимаю почему возвращается dereferenced указатель const Stock & Stock::topvalconst Stock & s const { if s.total_val > total_val return s; // here returning the reference it is OK else return *this; // here we are returning de-referenced pointer which should be the value, not the reference }

d7d1cd
1/12/2021, 7:35:21 AM
Ответов: 50
Захотел у себя в проекте использовать std::ref. В моей древней библиотеке этого

не оказалось, но оказался std::reference_wrapper. Из этой статьи узнал, что реализация std::ref простая. Решил реализовать у себя и заодно проверить примером из приведенной статьи. Однако скомпилить не удалось. Привожу полный код и часть ошибок компилятора в конце кода. Подскажите, что не умеет мой std::reference_wrapper? https://godbolt.org/z/adjrGY

hui228777
8/15/2021, 11:01:40 AM
Ответов: 48
а можно в с++ как-то сделать так, чтоб извне класса можно было

только читать переменную, а внутри и редактировать, без создания дополнительных публичных методов?

sergpsv
10/24/2020, 12:58:00 PM
Ответов: 48
Доброго дня. Есть структура Node вида узел=>потомкиузлы, потомки хранятся в vector, узлы

могут быть разного вида, N1 и N2, наследуются от Node, потом используются в Tree, в которой лежит корень дерева. Надо сделать контейнер для хранения потомков универсальным, чтобы можно было не только в vector хранить, а в list, deque или в собственном. Сейчас пытаюсь добавить в параметры Node для контейнера template<typename, typename...> class Container, typename... Params и потомков хранить в Container<std::shared_ptr<T<TIndex>>, Params...> children;. Но проблема с наследованием для N1 и N2. Подскажите, пожалуйста, как это правильно сделать, и как создавать объекты типа Tree с указанием контейнера для хранения узлов. template <template <typename> class T, typename TIndex> struct Node { TIndex index; std::vector<std::shared_ptr<T<TIndex>>> children; Node : index0 { } }; template <typename TIndex> struct N1: public Node<N1, TIndex> { N1 : Node<N1, TIndex> {} }; template <typename TIndex> struct N2: public Node<N2, TIndex> { size_t count; N2 : Node<N2, TIndex>, count0 {} }; template <typename TNode> // можно N1 или N2 использовать struct Tree { std::shared_ptr<TNode> root; Tree { root = std::make_shared<TNode>; } }; //Tree<N1<int>> obj; // или Tree<N2<int>> //std::cout << obj.root->index << std::endl; template<template <typename> class T, typename TIndex, template<typename, typename...> class Container, typename... Params> struct NewNode { TIndex index; Container<std::shared_ptr<T<TIndex>>, Params...> children; NewNode : index0 { } }; // а как создать NewN1 и NewN2 от NewNode а затем использовать при создании Tree?

L15794
11/24/2020, 6:35:30 AM
Ответов: 46
Можно ли лямбду хранить в классе не std::function ? Как шаблонный параметр

передать к примеру

NastyaMed
3/14/2021, 12:08:10 PM
Ответов: 45
Скажите, а что собой на уровне компилятора представляет reference? Выделяется ли под

него память и где он хранится во время выполнения программы? int rats = 101; int & rodents = rats; // where is is stored??

Аноним
2/7/2021, 7:30:09 PM
Ответов: 45
Всем хеллоу Решил стать программистом Какие книги вы рекомендуете прочитать?

И какие книги вам помогли больше понять тот или иной язык? С чего вы начинали программировании у меня есть база с++, и питона Хочу продвинуться дальше. Углубляться в тот или иной язык. Я был бы очень благодарен вам если б сказали Заранее спасибо

setpoint_f
2/11/2021, 5:50:28 PM
Ответов: 44
Наверно я дурак и не правильно вопрос поставил изначально. Имеет ли право

компилятор напихать че своего в начало памяти занимаемой экземпляром класса, в его середину. Перемешать поля местами и тп?

gnom6584
7/11/2021, 9:09:23 PM
Ответов: 44
когда надо мувать возвращаемое значение?
d7d1cd
3/5/2021, 12:15:13 PM
Ответов: 42
Чем на самом деле является uintptr_t?
NastyaMed
4/4/2021, 9:55:54 AM
Ответов: 44
Видишь ли, у добавления smart pointers были причины. И эти причины

— плохая имплементация new delete. Зачем учить новичков плохому?

Pezdota
2/8/2021, 10:01:11 AM
Ответов: 44
Или тут парадигма, если не плюсы, то ничего?
NastyaMed
2/23/2021, 6:53:45 PM
Ответов: 81
А как определить размер буфера? У меня не работает ```char* buffer =

new char[100]; buffer[0] = 't'; buffer[1] = 'e'; buffer[2] = 's'; buffer[3] = 't'; buffer[4] = '\0'; std::cout << sizeofbuffer/sizeofchar << std::endl; //??? expecting 100 here but get 8```