Advertisement
Petro_zzz

new_lesson3

Aug 24th, 2022
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.37 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. /*#define EXP 2.712312312
  4. #define CONFIG_FILE_NAME "config.ini"
  5. #define CONSOLE cout
  6. #define SQR(x) ((x)*(x))
  7. #define LOG_MODE
  8. */
  9.  
  10. using namespace std;
  11. const double EXP = 2.712312;
  12. const char filename[]{ "config.ini" };
  13.  
  14. void test_macros() {
  15. #ifdef LOG_MODE
  16.     cout << "This is LOG MODE" << endl;
  17. #endif // LOG_MODE
  18.     cout << "This is my prog" << endl;
  19. }
  20.  
  21. const int sz = 10;
  22. int arr[sz];
  23.  
  24. void genArr() {
  25.     int k = 0;
  26.     while (k < sz) {
  27.         arr[k++] = k;
  28.     }
  29. }
  30.  
  31. void showArr() {
  32.     int k = 0;
  33.     while (k < sz) {
  34.         cout << arr[k++] << " ";
  35.     }
  36.     cout << endl;
  37. }
  38.  
  39.  
  40. // Ссылка в качестве возвращаемого значения функции
  41. int& getMax() {
  42.     int id = 0;
  43.     for (int k = 1; k < sz; ++k)
  44.         if (arr[k] > arr[id])
  45.             id = k;
  46.     return arr[id];
  47. }
  48.  
  49. void test_reffromfun() {
  50.     genArr();
  51.     showArr();
  52.     cout << getMax() << endl;
  53.     int& x = getMax();
  54.     cout << x << endl;
  55.     x = 222;
  56.     //getMax() = 134;
  57.     showArr();
  58. }
  59.  
  60. // Указатель на функцию
  61. void f1() {
  62.     cout << "Fun1 " << endl;
  63. }
  64.  
  65. void f2() {
  66.     cout << "Fun2 " << endl;
  67. }
  68.  
  69. int sum(int a, int b) {
  70.     return a + b;
  71. }
  72.  
  73. void main() {
  74.     void (*pf)() = f1;
  75.     pf();
  76.  
  77.     int (*pf2)(int, int) = sum;
  78.     cout << pf2(21, 32) << endl;
  79.  
  80.     // автоматически сделать тип Y такой же как и у X;
  81.     int x = 13;
  82.     decltype(x) y;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement