Size: a a a

2020 July 21

AS

Anatoly Shirokov in supapro.cxx
Anatoly Shirokov
void func(char *ptr);
...
char ch = '\0';
char arr1[1] = {0};
char arr2[2] = {0, 1};
func(&ch);
func(arr1);
func(arr2);
чем отличается ch от arr1?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Anatoly Shirokov
чем отличается ch от arr1?
Тем что ch это символ, а arr1 массив
источник

ᏃᏞᎪᎽᎬᏒ in supapro.cxx
Anatoly Shirokov
чем отличается ch от arr1?
Типом данных) ?
источник

AF

Aidar Fattakhov in supapro.cxx
Anatoly Shirokov
да, но и при этом и указатель на массив из одного элемента
int a[1];
int (*b)[1] = &a; // указатель на массив
int *c = &a; // указатель на инт
источник

AT

Andrey Tochilin in supapro.cxx
Добрый день , можно ли вызвать copy constructor непосредственно в assignment constructor что-бы не занимать лишние строки кода ? https://pastebin.com/89f7uVJJ
источник

AS

Anatoly Shirokov in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Тем что ch это символ, а arr1 массив
но в  func мне это безразлично, ptr указывает на что-то в памяти, это может быть либо массив из одного char, а может быть и из нескольких
источник

AS

Anatoly Shirokov in supapro.cxx
Aidar Fattakhov
int a[1];
int (*b)[1] = &a; // указатель на массив
int *c = &a; // указатель на инт
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Anatoly Shirokov
но в  func мне это безразлично, ptr указывает на что-то в памяти, это может быть либо массив из одного char, а может быть и из нескольких
Я просто неочень понимаю зачем упоминать в контексте указателя на переменную, что это массив из одного элемента
источник

AS

Anatoly Shirokov in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Я просто неочень понимаю зачем упоминать в контексте указателя на переменную, что это массив из одного элемента
чтобы подчеркнуть, что разыменование указателя указывающего за последний элемент массива - UB
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Aidar Fattakhov
int a[1];
int (*b)[1] = &a; // указатель на массив
int *c = &a; // указатель на инт
А разве указатель на массив неявно приводится к указателю на инт?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
std::slavik
#include <stdio.h>

int main()
{
   int arr[][3] = {{1, 2, 3},{1, 2, 3}};
   size_t arr_sz;
   arr_sz = *(&(arr[0]) + 1) - arr[0];
   printf("%u\n", arr_sz);
}
Еще Си не умеет дедусить размерность нмеоного массива
источник

Е

Егор in supapro.cxx
Andrey Tochilin
Добрый день , можно ли вызвать copy constructor непосредственно в assignment constructor что-бы не занимать лишние строки кода ? https://pastebin.com/89f7uVJJ
Наоборот можно реализовать assignment, и в копи конструкторе сделать *this = other
источник

AT

Andrey Tochilin in supapro.cxx
Хорошо, спасибо , попробую это сделать
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
Наоборот можно реализовать assignment, и в копи конструкторе сделать *this = other
А еще можно копи и свап
источник

t

tamtakoe in supapro.cxx
Как лучше организовать данные?
1. Тут мы сами значения храним в коллекции и работаем с ними по ссылке
deque<Item> d;
d.push_back({});
Item& myItem = d.back();
updateItem(myItem);
2. А здесь создаем значение в произвольном месте, а в коллекции храним только ссылки
deque<Item*> d;
Item myItem = createItem();
d.push_back(&myItem);
Какие плюсы-минусы по удобству, производительности или без разницы?
источник

AZ

Alexander Zaitsev in supapro.cxx
ужас, и как теперь жить, когда из С++ поддержку garbage collector хотят удалить, а?
https://isocpp.org/files/papers/P2186R0.html
источник

AF

Aidar Fattakhov in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
А разве указатель на массив неявно приводится к указателю на инт?
Ага
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
tamtakoe
Как лучше организовать данные?
1. Тут мы сами значения храним в коллекции и работаем с ними по ссылке
deque<Item> d;
d.push_back({});
Item& myItem = d.back();
updateItem(myItem);
2. А здесь создаем значение в произвольном месте, а в коллекции храним только ссылки
deque<Item*> d;
Item myItem = createItem();
d.push_back(&myItem);
Какие плюсы-минусы по удобству, производительности или без разницы?
Во втором случае у тебя скорее всего будут висячие ссылки
источник

ПК

Побитый Кирпич... in supapro.cxx
Alexander Zaitsev
ужас, и как теперь жить, когда из С++ поддержку garbage collector хотят удалить, а?
https://isocpp.org/files/papers/P2186R0.html
Норм, 90% думаю даже не знают о его существовании
источник

t

tamtakoe in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Во втором случае у тебя скорее всего будут висячие ссылки
Что это такое? В смысле, нужно будет не забыть почистить память?
источник