#include
struct B {
char i;
B(char i) : i(i) {};
void bar() {};
};
struct D : B {
int y;
D(char i, int y) : B(i), y(y) {};
};
void foo(B *arr, size_t size)
{
for(B *end = arr + size; arr < end; ++arr) {
std::cout i При переборе массива, производного по указателю на базу в полиморфном контексте, какое смещение будет использоваться по стандарту?
[/list]
I просмотрел стандарт и не нашел никаких упоминаний об информации времени выполнения, влияющей на смещения.
[expr.add] на самом деле не проясняет вопрос. Технически это означает, что результирующий указатель должен указывать на элемент массива.
Для меня это становится очень странным, когда я печатаю команду foo:
[code]#include
struct B {
char i;
B(char i) : i(i) {};
virtual void foo() { std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78546477/iterating-over-array-of-polymorphic-objects[/url]
struct D : B { int y; D(char i, int y) : B(i), y(y) {}; };
void foo(B *arr, size_t size) { for(B *end = arr + size; arr < end; ++arr) { std::cout i При переборе массива, производного по указателю на базу в полиморфном контексте, какое смещение будет использоваться по стандарту? [/list] I просмотрел стандарт и не нашел никаких упоминаний об информации времени выполнения, влияющей на смещения. [expr.add] на самом деле не проясняет вопрос. Технически это означает, что результирующий указатель должен указывать на элемент массива. Для меня это становится очень странным, когда я печатаю команду foo: [code]#include
Я пытаюсь написать класс RAII общего назначения - очень похож на умный указатель, но он обрабатывает создание, а также разрушение. Это суть этого:
template
struct dynamic_type_t {};
Я пытаюсь написать класс RAII общего назначения - очень похож на умный указатель, но он обрабатывает создание, а также разрушение. Это суть этого:
template
struct dynamic_type_t {};
Я пытаюсь написать класс RAII общего назначения - очень похож на умный указатель, но он обрабатывает создание, а также разрушение. Это суть этого:
template
struct dynamic_type_t {};
Я пытаюсь написать класс RAII общего назначения - очень похож на умный указатель, но он обрабатывает создание, а также разрушение. Это суть этого:
template
struct dynamic_type_t {};