Что выведет программа?
#include <iostream>
using namespace std;
void fun(int& a, int b)
{
a += 2;
b += 1;
}
int main()
{
int x = 10, y = 2;
fun(x, y);
cout << x << " " << y << " ";
fun(x, y);
cout << x << " " << y;
return 0;
}
#include <iostream>
using namespace std;
void fun(int& a, int b)
{
a += 2;
b += 1;
}
int main()
{
int x = 10, y = 2;
fun(x, y);
cout << x << " " << y << " ";
fun(x, y);
cout << x << " " << y;
return 0;
}
Найдите проблему в коде:
#include<stdio.h>
int main() { int *p = (int *)malloc(sizeof(int)); p = NULL; free(p); }
#include<stdio.h>
int main() { int *p = (int *)malloc(sizeof(int)); p = NULL; free(p); }
Anonymous Poll
31%
free() нельзя применить к NULL-pointer
51%
Утечка памяти
18%
Висячий указатель
Что выведет программа?
#include <stdio.h>
#include <stdlib.h> int main(int argc, char *argv[]) { char temp[20]; gcvt(23.45, 3, temp); printf("%s", temp); return 0; }
#include <stdio.h>
#include <stdlib.h> int main(int argc, char *argv[]) { char temp[20]; gcvt(23.45, 3, temp); printf("%s", temp); return 0; }
Anonymous Poll
9%
0
19%
23.5
23%
23.45000
49%
23.4
Что выведет программа?
#include <iostream> int main(int argc, const char * argv[]) { int a[] = {1, 2, 3, 4, 5, 6}; std::cout << (1 + 3)[a] - a[0] + (a + 1)[2]; }
#include <iostream> int main(int argc, const char * argv[]) { int a[] = {1, 2, 3, 4, 5, 6}; std::cout << (1 + 3)[a] - a[0] + (a + 1)[2]; }
Anonymous Poll
3%
2
6%
4
10%
6
74%
8
7%
10
С-трюк: Расчет времени между событиями
Фрагмент кода для расчета времени, прошедшего между двумя событиями (к примеру, чтобы выяснить, сколько времени займет выполнение чего-либо).
Фрагмент кода для расчета времени, прошедшего между двумя событиями (к примеру, чтобы выяснить, сколько времени займет выполнение чего-либо).
#include "stdafx.h"
#include <time.h>
#include <windows.h>
#include <stdlib.h>
clock_t startm, stopm;
#define BEGIN if ( (startm = clock()) == -1) \
{ \
printf("clock returned error.");exit(1); \
} \
#define CLOSE if ( (stopm = clock()) == -1) \
{printf("clock returned error."); \
exit(1); \
} \
#define SHOWTIME printf( "%6.3f seconds elapsed.", ((double)stopm-startm)/CLOCKS_PER_SEC);
main() {
BEGIN;
// Specify set of instructions for you want to measure execution time
Sleep(10);
CLOSE;
SHOWTIME;
}
Что выведет этот код?
#include <iostream> int main(int argc, char **argv) { std::cout << 25u - 50; return 0; }
#include <iostream> int main(int argc, char **argv) { std::cout << 25u - 50; return 0; }
Anonymous Poll
17%
-25
8%
25
76%
4294967271
Что выведет программа?
#include <stdio.h>
int main() { register int foo; printf("%p\n", &foo); return 0; }
#include <stdio.h>
int main() { register int foo; printf("%p\n", &foo); return 0; }
Anonymous Poll
42%
Не скомпилируется
13%
0
3%
127
2%
128
1%
-128
40%
bff5a400
#include<iostream>
namespace std;Что выведет программа?
class Test
{
static int i;
int j;
};
int Test::i;
int main()
{
cout << sizeof(Test);
return 0;
}
#вопросы_с_собеседований
Что выведет код?
программа завершится аварийно.
Что выведет код?
#include <iostream>Ответ:
class A {
public:
A() {}
~A() {
throw 42;
}
};
int main(int argc, const char * argv[]) {
try {
A a;
throw 32;
} catch(int a) {
std::cout << a;
}
}
⌨️ Основы C++
C++ — очень мощный язык программирования: на нём можно написать почти всё, что угодно. Его главная проблема для новичков заключается в том, что его невероятно сложно учить, по сравнению с остальными ЯП.
Если для вас это не проблема — вэлком в плейлист ниже:
1. Установка Visual studio — [4:03]
2. Первая программа — [12:09]
3. Первая программа. 2 часть — [10:29]
4. Структура и порядок выполнения программы.
5.
C++ — очень мощный язык программирования: на нём можно написать почти всё, что угодно. Его главная проблема для новичков заключается в том, что его невероятно сложно учить, по сравнению с остальными ЯП.
Если для вас это не проблема — вэлком в плейлист ниже:
1. Установка Visual studio — [4:03]
2. Первая программа — [12:09]
3. Первая программа. 2 часть — [10:29]
4. Структура и порядок выполнения программы.
5.
#Include
. using namespace — [15:17]YouTube
Где скачать Visual studio бесплатно. Visual studio установка. C++ для начинающих. Урок #0.
Друзья, КУРС АКТУАЛЕН И БУДЕТ АКТУАЛЕН ЕЩЁ МНОГО ЛЕТ. К тому же это самый полный бесплатный курс по C++ в RU сегменте, это базовые основы языка программирования которые изменяться не будут, смело можете учить! Рекомендую вам подписаться и нажать колокольчик…
2D примитивы мультимедийной библиотеки SFML для разработки игр на C++.
https://habr.com/ru/post/702128/
https://habr.com/ru/post/702128/
Хабр
2D примитивы мультимедийной библиотеки SFML для разработки игр на C++
Предыдущая тема Следующая тема Продолжая тему построение графических объектов используя мультимедийную библиотеку SFML, рассмотрим интересный класс VertexArray (массив вершин). Точки #include...
#вопросы_с_собеседований
Что выведет код?
программа завершится аварийно.
Что выведет код?
#include <iostream>Ответ:
class A {
public:
A() {}
~A() {
throw 42;
}
};
int main(int argc, const char * argv[]) {
try {
A a;
throw 32;
} catch(int a) {
std::cout << a;
}
}
#вопросы_с_собеседований
Как работает std::shared_ptr?
➖ std::shared_ptr — это умный указатель, который использует подсчет ссылок для управления жизненным циклом объекта. Это означает, что несколько shared_ptr могут указывать на один и тот же объект, и он будет удален только тогда, когда все shared_ptr, указывающие на него, будут уничтожены.
➖ Когда вы создаете shared_ptr, он увеличивает счетчик ссылок на объект. Когда shared_ptr уничтожается, он уменьшает счетчик ссылок. Если счетчик ссылок достигает нуля, это означает, что больше нет shared_ptr, указывающих на объект, и он может быть безопасно удален.
➖ std::shared_ptr также предоставляет набор методов для управления объектом, таких как reset, который позволяет заменить текущий объект новым, и use_count, который возвращает текущее количество shared_ptr, указывающих на объект.
Вот простой пример использования std::shared_ptr:
#include
#include
int main() {
std::shared_ptr ptr1(new int(5));
std::cout << *ptr1 << std::endl; // выводит 5
std::cout << ptr1.use_count() << std::endl; // выводит 1
{
std::shared_ptr ptr2 = ptr1;
std::cout << ptr1.use_count() << std::endl; // выводит 2
}
std::cout << ptr1.use_count() << std::endl; // выводит 1
}
Создаем std::shared_ptr, который владеет динамически выделенным объектом типа int. Затем еще один shared_ptr, который указывает на тот же объект. Когда второй shared_ptr выходит из области видимости и уничтожается, счетчик ссылок уменьшается, но объект не удаляется, потому что все еще есть другой shared_ptr, указывающий на него.
Как работает std::shared_ptr?
➖ std::shared_ptr — это умный указатель, который использует подсчет ссылок для управления жизненным циклом объекта. Это означает, что несколько shared_ptr могут указывать на один и тот же объект, и он будет удален только тогда, когда все shared_ptr, указывающие на него, будут уничтожены.
➖ Когда вы создаете shared_ptr, он увеличивает счетчик ссылок на объект. Когда shared_ptr уничтожается, он уменьшает счетчик ссылок. Если счетчик ссылок достигает нуля, это означает, что больше нет shared_ptr, указывающих на объект, и он может быть безопасно удален.
➖ std::shared_ptr также предоставляет набор методов для управления объектом, таких как reset, который позволяет заменить текущий объект новым, и use_count, который возвращает текущее количество shared_ptr, указывающих на объект.
Вот простой пример использования std::shared_ptr:
#include
#include
int main() {
std::shared_ptr ptr1(new int(5));
std::cout << *ptr1 << std::endl; // выводит 5
std::cout << ptr1.use_count() << std::endl; // выводит 1
{
std::shared_ptr ptr2 = ptr1;
std::cout << ptr1.use_count() << std::endl; // выводит 2
}
std::cout << ptr1.use_count() << std::endl; // выводит 1
}
Создаем std::shared_ptr, который владеет динамически выделенным объектом типа int. Затем еще один shared_ptr, который указывает на тот же объект. Когда второй shared_ptr выходит из области видимости и уничтожается, счетчик ссылок уменьшается, но объект не удаляется, потому что все еще есть другой shared_ptr, указывающий на него.