[c++] sizeof

0

Czy można sprawdzić wielkość zmiennych typu int (nie chodzi mi tu o jedną, tylko wszystkie jakie znajdują się w programie)?

0

Hmmm sizeof(int)? A z resztą wszystkie zmienne typu int mają taki sam rozmiar.

0

To nie o to mi chodzi. Powiedzmy że mam taki kod:
[code]
int main()
{
int a;
int b;
int c;

cout<<sizeof(int);

system("PAUSE");
return EXIT_SUCCESS;

}[/code]

To i tak mi zawsze wyświetli 4. A mi chodzi by zrobiło tak 3*4 czyli by wyświetliło 12 a nie jak w tym programie(4)

0

Nie da się tego tak zrobić

0

@Szewy chciałbyś wiedzieć ile w programie zajmują wszystkie zmienne typu int? Ale które? Te na stosie? Te na stercie? Te jawnie utworzone? Te które są aktualnie w zasięgu? Te które kiedykolwiek były utworzone? Odpowiedź brzmi: nie, ale możesz takie coś sam sobie napisac. Stwórz klasę która przechowuje statyczny licznik instancji. Tworząc nowy obiekt tej klasy będziesz zwiększał licznik, usuwając będziesz go zmniejszał.

0

A po co ci w ogóle taka informacja? Chcesz zbadać ile pamięci zużyje twoja aplikacja? To nie jest taka prosta sprawa jakby się na początku mogło wydawać. Zacznijmy od tego, że kompilator najpierw zoptymalizuje twój kod i tych intów może w ogóle nie być albo operacje, które przeprowadzasz na zmiennych, będą przeprowadzane na rejestrach. Wtedy ciężko mówić o jakimkolwiek zapotrzebowaniu na pamięć.
Do tego należy pamiętać, że zużywana pamięć przez aplikację to nie tylko zmienne, które jawnie deklarujesz, ale wczytana aplikacja, biblioteki i 100 innych rzeczy, o których nie wolno zapomnieć, żeby otrzymać w miarę wiarygodny wynik.
Jeżeli chcesz otrzymać orientacyjną ilość pamięci, którą będzie potrzebowała twoja aplikacja, użyj profilera (i to też nie działa na takiej zasadzie, że go uruchamiasz i dostajesz raport od razu po kliknięciu).

0

Chciałem obliczyć ilość zmiennych w moim programie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1