Вопросы по теме 'object-slicing'
Как хранить разные классы в одном векторе?
Итак, у меня есть вектор, полный всех объектов для моей игры; такие вещи, как объект игрока, вражеский объект, стены и т. д. Все объекты в векторе являются дочерними элементами Framework , поэтому я сделал векторный тип Framework , потому что для...
1311 просмотров
schedule
30.03.2022
Может ли std::move вызывать нарезку при переходе к ссылке на l-значение?
См. следующий код:
#include <iostream>
#include <chrono>
class Parent
{
public:
Parent() = default;
virtual ~Parent() = default;
Parent(const Parent& pr) : i{pr.i} {std::cout << "Parent copy constructor\n";}...
424 просмотров
schedule
12.04.2022
C ++: нарезка объектов и исключения
В интервью меня спросили, почему перехват исключений по значению может быть проблемой, и я ответил, что это может привести к нарезке объектов. И вот что я нахожу в Интернете, например здесь: https://www.viva64.com/en/w/v746/
Но сейчас пытаюсь...
422 просмотров
schedule
19.04.2022
Нарезка объектов: передать Derived as Base по значению — безопасно или опасно?
Я изучаю, когда/почему нарезка объектов опасна.
Я прочитал отличную ссылку о что такое безопасная нарезка VS опасная нарезка . Вот что я могу обобщить (грубо говоря ):-
Безопасно , если базовым типом является значение (например, A )....
274 просмотров
schedule
26.05.2022
Списки инициализаторов членов конструктора C++, разделение объектов
у меня два класса
class A {
public:
virtual void doStuff() = 0;
};
class B : public A {
int x;
public:
virtual void doStuff() override { x = x*2;} //just example function
};
И еще один класс, который модифицирует и использует...
124 просмотров
schedule
06.06.2022
О каких нежелательных последствиях говорит автор?
Этот пример был взят из книги Брюса Экеля «Мышление на C++», глава 14, раздел «Повышение приведения и конструктор копирования».
#include <iostream>
using namespace std;
class Parent
{
int i;
public:
Parent(int ii) : i(ii) {...
117 просмотров
schedule
14.06.2022
Коллекция объектов более чем одного типа
Есть ли какой-нибудь неужасный способ иметь коллекцию объектов более одного типа? Я совершенно счастлив вывести каждый тип из общей базы. Мне нужна разумная семантика, чтобы коллекцию можно было копировать, назначать и так далее.
Очевидно, я не...
242 просмотров
schedule
17.07.2022
numpy получить массив 2d, где последнее измерение индексируется в соответствии с массивом 2d
Я читал об индексации numpy, но не нашел того, что искал.
У меня есть изображение 288*384, где каждый пиксель может иметь маркировку в [0,15]. Он хранится в массиве 3d (288 384,16) numpy im .
С помощью im[:,:,1] я могу, например, получить...
124 просмотров
schedule
07.08.2022
c++: может ли вектор Base› содержать объекты типа Derived?
Название в значительной степени говорит само за себя. В принципе, законно ли это делать:
class Base {
//stuff
}
class Derived: public Base {
//more stuff
}
vector<Base> foo;
Derived bar;
foo.push_back(bar);
Основываясь на...
4232 просмотров
schedule
26.04.2023
конструкторы, вызывающие подкласс
У меня есть (частично реализованная) иерархия классов, где
template<typename T> {
class data {
data ( string s ) {}; // loads from file
...
}
class image: public data <T> {
image ( string s ) {};...
92 просмотров
schedule
14.10.2022
Законно ли использование initializer_list для инициализации объекта производными типами?
Ну может из названия не понятно о чем я собственно спрашиваю.
У меня есть класс с конструктором списка инициализаторов std::initializer_list<B> . Допустимо ли инициализировать его списком инициализаторов объектов класса D , где D...
620 просмотров
schedule
24.11.2022
Фабричный шаблон с абстрактными базовыми классами - возврат по ссылке или по значению? Проблемы с областью действия и нарезкой
У меня есть иерархия типов, похожая на приведенный ниже пример кода, и я пытаюсь создать их экземпляры с помощью шаблона фабрики (или, если быть педантичным, скорее шаблона построителя, поскольку моя фабрика получает входные данные из XML-документа......
551 просмотров
schedule
04.12.2022
Как правильно добавить shared_pointers в вероятно производные классы в std::vector?
У меня есть в основном эта установка:
class B { /* ... */};
class C1 : public B { /* ... */};
class C2 : public B { /* ... */};
class X
{
std::vector<shared_ptr<B>> m_vec;
void addToVector(B* b);
}
addToVector не может...
67 просмотров
schedule
09.01.2023
Нарезка объектов: доступ к методам производного класса из объекта базового класса.
Изменить :
Проблема заключается в файле GoFish.h , а точнее в конструкторе , где он пытается создать экземпляр объекта player.
Компилятор выдает следующее сообщение об ошибке: Нет члена с именем «noOfBooks» в...
79 просмотров
schedule
24.03.2023
Нарезка C-массива, создание вектора C++, сохранение только 2 элементов каждые 3
У меня есть C-массив, подобный этому:
int X[]={0, 1, 2, 3, 4, 5, 6, 7, 8};
Мне нужно создать два stl-вектора из этого массива посредством нарезки, возможно, совместного использования максимального объема памяти и создания менее глубоких...
128 просмотров
schedule
15.04.2023
Минимум или максимум ряда данных pandas между двумя строками
У меня есть кадр данных pandas. Предположим, что имена столбцов — «A», «B» и «C».
Как я могу рассчитать минимальное и/или максимальное значение данных в столбце «A», включая только строки от m до p? Где m ‹ p и m != 0 и p ‹ количество строк в...
1437 просмотров
schedule
08.03.2023
Виртуальная таблица и нарезка объектов
При нарезке объектов, когда объект производного класса копируется в объект базового класса, копируется ли _vptr производного класса в _vptr базового класса, как и другие члены базового класса? Если нет, то почему?
class Base{
public :
virtual...
176 просмотров
schedule
09.01.2023
C++ Добавление объектов дочерних классов в вектор родительского класса
У меня есть следующая иерархия классов: Класс Crocodile наследуется от Oviparous, который наследуется от Animal
Мне нужно хранить объекты типа Crocodile, Goose, Pelican, Bat, Whale и SeaLion внутри вектора, поэтому:
1- Я создаю глобальный...
150 просмотров
schedule
19.06.2023
Можно ли реализовать copyable_unique_ptr, на который не влияет нарезка?
Вне зависимости от того, имеет ли смысл копировать unique_ptr или нет*, я пытался реализовать такой класс, просто обернув std::unique_ptr , и столкнулся с трудностями именно там, где берется копия, в случае умного указателя на базу и хранимый...
74 просмотров
schedule
21.01.2024