Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- #pragma warning(disable : 4996)
- void cpy(int* x) {
- std::cout << &x << std::endl;
- }
- void ref(int*& x) {
- std::cout << &x << std::endl;
- }
- void change(int* x) {
- *x = 10;
- }
- int main() {
- int* example = new int;
- *example = 0;
- std::cout << example << std::endl; // Указателя сочи към адрес на променлива. Това е той.
- std::cout << &example << std::endl; // Това е адреса на указателя. Той също е променлива и има адрес
- // Подаваме го по копие и принтираме адреса на копието
- cpy(example);
- // Сега го подаваме като референция и пак принтираме адреса
- ref(example);
- // ред 4 и ред 2 са еднакви понеже подаваме самия указател. Ред 3 е различен понеже имаме копие.
- // Това което не се променя е адреса към който указателя сочи.
- // Променя ли на едно място стойността на еxample тя се променя навсякъде
- change(example);
- std::cout << *example << std::endl;
- delete example; // -> задължително
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement