Advertisement
avr39-ripe

pointerLectureTranscript

Mar 23rd, 2020
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.10 KB | None | 0 0
  1. #include "iostream"
  2.  
  3. void inc(int* ptr)
  4. {
  5.     std::cout << (*ptr)++ << '\n';
  6. }
  7.  
  8. void swapVal(int a, int b)
  9. {
  10.     std::cout << "a = " << a << " b = " << b << '\n';
  11.     int tmp{ a };
  12.     a = b;
  13.     b = tmp;
  14.     std::cout << "a = " << a << " b = " << b << '\n';
  15. }
  16.  
  17. void swapValPtr(int* a, int* b)
  18. {
  19.     std::cout << "a = " << *a << " b = " << *b << '\n';
  20.     int tmp{ *a };
  21.     *a = *b;
  22.     *b = tmp;
  23.     std::cout << "a = " << *a << " b = " << *b << '\n';
  24. }
  25.  
  26. int* createArr(int size)
  27. {
  28.     //int arr[10];
  29.     return new int[size];
  30. }
  31.  
  32. void deleteArr(int* arr)
  33. {
  34.     delete[] arr;
  35. }
  36.  
  37. void fillArr(int* ptr, int size, int start = 0, int stop = 10)
  38. {
  39.     for (auto elP{ ptr }; elP != (ptr + size); ++elP)
  40.     {
  41.         *elP = rand() % (stop - start + 1) + start;
  42.     }
  43. }
  44.  
  45. void printArr(int* ptr, int size)
  46. {
  47.     for (auto elP{ ptr }; elP != (ptr + size); ++elP)
  48.     {
  49.         std::cout << *elP << ' ';
  50.     }
  51.     std::cout << '\n';
  52. }
  53.  
  54. int* foo(int* ptr)
  55. {
  56.     int val{ 333 };
  57.     std::cout << *ptr << '\n'; // 333
  58.     return ptr;
  59. }
  60.  
  61. void boo()
  62. {
  63.     int arr[1000]{};
  64.     for (int i{ 0 }; i < 1000; arr[i] = i++);
  65. }
  66.  
  67. int main()
  68. {
  69.  
  70.     int* ptr{new int[10]{ 1,2,3,4,5,6,7,8,9,10 }};
  71.     int* delPtr = ptr;
  72.     for (int i{ 0 }; i < 10; std::cout << *(ptr++) << ' ', ++i);
  73.  
  74.     delete[] delPtr;
  75.  
  76.     //int size{ 0 };
  77.     //std::cout << "Enter size\n";
  78.     //std::cin >> size;
  79.  
  80.     //int* ptr{ createArr(size) };
  81.     //fillArr(ptr, size, 10,20);
  82.     //printArr(ptr, size);
  83.     //deleteArr(ptr);
  84.  
  85.     //int arr[5]; int* const arr = new int[5];
  86.     //fillArr(arr, 5, 100, 150);
  87.     //printArr(arr, 5);
  88.  
  89.     /*int* ptr{ new int{42} };
  90.     std::cout << ptr << '\n';
  91.     std::cout << *ptr << '\n';
  92.     *ptr = 56;
  93.     std::cout << *ptr << '\n';
  94.  
  95.     delete ptr;
  96.    
  97.     std::cout << ptr << '\n';
  98.  
  99.     int size{ 0 };
  100.     std::cout << "Enter size\n";
  101.     std::cin >> size;
  102.  
  103.     ptr = new int[size]{ 1,2,3,4,5 };
  104.     for (int i{ 0 }; i < size; std::cout << ptr[i++] << ' ');
  105.     delete[] ptr;
  106.  
  107.     std::cout << "Enter size\n";
  108.     std::cin >> size;
  109.  
  110.     ptr = new int[size] { 10, 20, 30, 40, 50 };
  111.     for (int i{ 0 }; i < size; std::cout << ptr[i++] << ' ');
  112.     delete[] ptr;
  113.  
  114.     double* ptrF{ new double{42.4} };
  115.     delete[] ptrF;*/
  116.  
  117.  
  118.     //std::cout << *ptrX << '\n';
  119.  
  120.  
  121.    
  122.     //const int* ptrArr[5];
  123.  
  124.     //for (int i{ 0 }; i < 5; *(ptrArr + i) = arr + i++);
  125.     //for (int i{ 0 }; i < 5; std::cout << *(ptrArr + i++) << '\n');
  126.     //std::cout << "##################\n";
  127.     //for (int i{ 0 }; i < 5; ptrArr[i] = arr + i++);
  128.     //for (int i{ 0 }; i < 5; std::cout << **(ptrArr + i++) << '\n');
  129.     //for (int i{ 0 }; i < 5; std::cout << **(ptrArr + i++) << '\n');
  130.  
  131.     //*ptrArr[0] = 23; arr[i] <=> *(arr + i)
  132.  
  133.  
  134.  
  135.     //const int c{ 42 };
  136.     //const int z{ 345 };
  137.     //int x{ 33 };
  138.     //int y{ 66 };
  139.  
  140.     //const int* ptrC{ &c };
  141.     //int* const ptrX{ &x };
  142.     //*ptrX = 99;
  143.     //std::cout << *ptrX << '\n';
  144.     //const int* const zhest{ &x };
  145.  
  146.     //std::cout << *ptrC << '\n';
  147.     //ptrC = &z;
  148.     //std::cout << *ptrC << '\n';
  149.  
  150.  
  151.  
  152.     /*int* arr{ new int[5]{1,2,3,4,5} };
  153.  
  154.     printArr(arr, 5);
  155.  
  156.     int* tmpArr{ new int[10]{} };
  157.  
  158.     for (int i{ 0 }; i < 5; ++i)
  159.     {
  160.         tmpArr[i] = arr[i];
  161.     }
  162.  
  163.     delete[] arr;
  164.     arr = tmpArr;
  165.  
  166.     printArr(arr, 10);
  167.  
  168.     tmpArr = new int[4]{};
  169.  
  170.     for (int i{ 0 }; i <4; ++i)
  171.     {
  172.         tmpArr[i] = arr[i];
  173.     }
  174.     delete[] arr;
  175.     arr = tmpArr;
  176.     printArr(arr, 4);*/
  177.  
  178.     //int x{ 256 };
  179.     //int* ptr = foo(&x);
  180.  
  181.     //std::cout << *ptr << '\n'; // 333
  182.     //boo();
  183.     //std::cout << *ptr << '\n'; // ????
  184.  
  185.  
  186.     //int size{ 0 };
  187.     //std::cout << "Enter size \n";
  188.     //std::cin >> size;
  189.     //int arr[10]{};
  190.  
  191.     //int* ptr = createArr(size);
  192.     //fillArr(ptr, size);
  193.     //printArr(ptr, size);
  194.     //deleteArr(ptr);
  195.  
  196.     //fillArr(arr, 10);
  197.     //printArr(arr, 10);
  198.  
  199.     //int x{ 42 };
  200.     //int y{ 68 };
  201.  
  202.     //std::cout << "x = " << x << " y = " << y << '\n';
  203.     //swapValPtr(&x, &y);
  204.     //std::cout << "x = " << x << " y = " << y << '\n';
  205.  
  206.     //inc(&x);//
  207.     //inc(&x);//
  208.     //std::cout << x << '\n';//
  209.  
  210.     //int* ptrI{ nullptr };
  211.  
  212.     //int size{ 0 };
  213.     //std::cout << "Enter size \n";
  214.     //std::cin >> size;
  215.  
  216.     //ptrI = new int[size]{};
  217.  
  218.  
  219.     //for (auto elP{ ptrI }; elP != (ptrI + 1000); ++elP)
  220.     //{
  221.     //  *elP = rand() % 10;
  222.     //  std::cout << *elP << ' ';
  223.     //}
  224.     //std::cout << '\n';
  225.  
  226.     //delete[] ptrI;
  227. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement