razlika
2 отговора
224 прегледа
razlika
kakva e razlikata m/u:
void f(int *a) { }
i
void f(int a[4]) {}
pitam, zashtoto imam edna programa koiato se durji razlichno pri takava smiana.
void f(int *a) { }
i
void f(int a[4]) {}
pitam, zashtoto imam edna programa koiato se durji razlichno pri takava smiana.
Re: razlika
Ето един интересен въпрос. :)
От гледна точка на резултатния код, не би трябвало да има разлика. Все пак има значение какво се прави с аргументите в тялото на функцията, и дали тези две функции не са във външна библиотека, тъй като при линкването се използва и информация от дефинициите/декларациите (е, поне понякога).
Иначе и при двете дефиниции асемблерния код е един и същ. Даже .НЕТ студиото дава грешка, казва че void f(int *) { } вече си имала боди и не ще да се компилира.
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
От гледна точка на резултатния код, не би трябвало да има разлика. Все пак има значение какво се прави с аргументите в тялото на функцията, и дали тези две функции не са във външна библиотека, тъй като при линкването се използва и информация от дефинициите/декларациите (е, поне понякога).
Иначе и при двете дефиниции асемблерния код е един и същ. Даже .НЕТ студиото дава грешка, казва че void f(int *) { } вече си имала боди и не ще да се компилира.
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Заяждане
Абе чудна работа - писал си с ник cpp и си помислих, че става въпрос за С++, пък то...