12.07.2015 Views

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

стека сочи стековата рамка на main. В резултат стойностите напроменливите a и b са разменени.Обръщението swapi(c, d) се изпълнява по аналогичен начин. За неясе генерира нова стекова рамка (на същите адреси), която сеосвобождава когато изпълнението на swapi завърши.Функцията swapi получава входните си стойности чрез формалните сипараметри и връща резултата си чрез тях. Забелязваме, че обръщениетоswapi(&a, &b) работи не с копия на стойностите на а и b, а с адреситеим. В процеса на изпълнение на тялото се променят стойностите нафактическите параметри a и b при първото обръщение към нея и на c и d– при второто.Такова свързване на формалните с фактическите параметри се наричасвързване на параметрите по указател или още предаване на параметритепо указател или свързване по адрес. При този вид предаване напараметрите, фактическите параметри задължително са променливи илиадреси на променливи.Освен тези два начина на предаване на параметри, в езика <strong>C++</strong> имаоще един – предаване на параметри по псевдоним. Той е сравнително поудобенот предаването по указател и се предпочита от програмистите.Ще го илюстрираме чрез същата задача. Програма Zad69_1.cppреализира функция swapi, в която предаването на параметрите е попсевдоним.// Program Zad69_1.cpp#include #include void swapi(double& x, double& y){double work = x;x = y;y = work;return;}int main(){cout > a >> b >> c >> d;13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!