На этот вопрос есть ответы на Przepełnienie stosu на русском : Кто-нибудь встречал в своей практике sizeof (znak)! = 1? Czy są maszyny (lub kompilatory), gdzie sizeof(char) != 1? Czy norma C99 mówi, że sizeof(char)implementacja zgodności ze standardami MUSI wynosić dokładnie 1? Jeśli tak, podaj mi numer sekcji i cytat. …
Pracuję z pamięcią niektórych lambd w C ++, ale trochę mnie dziwi ich rozmiar. Oto mój kod testowy: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl; std::cout << sizeof(f) << std::endl; } Możesz go …
Poniższe nie można skompilować: typedef int arr[10]; int main(void) { return sizeof arr; } sizeof.c:3: error: expected expression before ‘arr’ ale jeśli zmienię to na sizeof(arr); wszystko w porządku. Czemu?
Jest stary post z prośbą o konstrukcję, dla której sizeofwróci 0. Istnieje kilka odpowiedzi z wysokimi wynikami od użytkowników o wysokiej reputacji, którzy twierdzą, że standardowo żaden typ ani zmienna nie może mieć rozmiaru 0. I zgadzam się z tym w 100%. Jest jednak nowa odpowiedź, która przedstawia to rozwiązanie: …
Kontekst Przenosimy kod C, który został pierwotnie skompilowany przy użyciu 8-bitowego kompilatora C dla mikrokontrolera PIC. Typowy idiom, który był używany, aby zapobiec cofaniu się globalnych zmiennych bez znaku (na przykład liczników błędów), jest następujący: if(~counter) counter++; Operator bitowy odwraca tutaj wszystkie bity, a instrukcja jest prawdziwa tylko wtedy, gdy …
#include <stdio.h> int main() { char a = 'A'; int b = 90000; float c = 6.5; printf("%d ",sizeof(6.5)); printf("%d ",sizeof(90000)); printf("%d ",sizeof('A')); printf("%d ",sizeof(c)); printf("%d ",sizeof(b)); printf("%d",sizeof(a)); return 0; } Dane wyjściowe to: 8 4 4 4 4 1 Dlaczego dane wyjściowe są różne dla tych samych wartości?
Jest std::array<T, N>::size(), ale jest niestatyczna, więc wymaga wystąpienia std::array. Czy istnieje sposób, aby uzyskać wartość powraca (który jest Nz std::array<T, N>) bez konieczności konstruowania instancji tablicy? Do normalnej tablicy mógłbym użyćsizeof , ale nie widzę żadnej gwarancji, że sizeof(std::array<T, N>) == N * sizeof(T)to prawda.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.