#include <iostream>
using namespace std;
class Base {
public:
virtual void show() { // Виртуальная функция
cout << "Base class" << endl;
}
};
class Derived : public Base {
public:
void show() override { // Переопределение функции
cout << "Derived class" << endl;
}
};
int main() {
Base* obj = new Derived();
obj->show(); // Вызов функции Derived
delete obj;
}
Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍8❤1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍4🔥1💯1
  API (Application Programming Interface) бывают нескольких типов, каждый из которых имеет свои особенности и применение.
😎  REST API — основан на архитектурном стиле REST. Использует HTTP методы (GET, POST, PUT, DELETE) и работает с ресурсами, идентифицируемыми URI.
😎  SOAP API — протокол, использующий XML для обмена сообщениями. Обеспечивает высокий уровень безопасности и надежности, но более сложен в реализации.
😎  GraphQL API — позволяет клиентам запрашивать только необходимые данные. Гибкий и эффективный, особенно для сложных запросов.
😎  gRPC API — использует HTTP/2 и Protocol Buffers. Поддерживает двунаправленную потоковую передачу и высокую производительность.
Каждый тип API имеет свои преимущества и ограничения, подходящие для различных задач и архитектурных решений.
Ставь👍 , если было полезно!
Больше ответов на сайте👈 
✈️  С++ собеседования
Каждый тип API имеет свои преимущества и ограничения, подходящие для различных задач и архитектурных решений.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍8🔥3
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍12🔥3
  std::thread::detach используется для отделения потока от объекта std::thread, позволяя потоку продолжать выполнение независимо. После вызова detach, объект std::thread больше не связан с потоком и не может быть использован для управления им. Это полезно, когда поток должен работать в фоновом режиме, но важно помнить, что необходимо обеспечить завершение потока до завершения программы, иначе поведение будет неопределённым.
#include <iostream>
#include <thread>
void backgroundTask() {
// Фоновая задача
std::cout << "Фоновая задача выполняется\n";
}
int main() {
std::thread t(backgroundTask);
t.detach(); // Отделяем поток
// Поток продолжает выполнение независимо
std::cout << "Главный поток завершён\n";
return 0;
}
Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍6❤1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍7🔥2
  lvalue (left value) — это выражение, которое ссылается на область памяти и имеет адрес, позволяя присваивание. rvalue (right value) — это временное значение, не имеющее адреса, используемое в выражениях.
int x = 10; // x — это lvalue, 10 — это rvalue
int y = x + 5; // x + 5 — это rvalue, результат временный
int &ref = x; // ref — это lvalue-ссылка на x
lvalue может стоять слева от оператора присваивания, а rvalue — только справа.Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍10❤1👀1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍5🔥2
  class Car {
public:
    std::string model;
    int year;
    // Конструктор класса
    Car(std::string m, int y) : model(m), year(y) {}
};Car myCar("Toyota", 2020); // Создание объекта myCar с использованием конструктораmyCar теперь имеет доступ к членам класса Car, таким как model и year.Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍8🤔2🔥1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍5❤1
  Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍8❤3
  Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍8❤1
  В C++ 
😎  std::list — это двусвязный список. Он позволяет эффективно вставлять и удалять элементы в любом месте, но не поддерживает произвольный доступ к элементам. Это делает его идеальным для сценариев, где часто требуется вставка или удаление.
😎  std::deque — это двусторонняя очередь. Она поддерживает произвольный доступ, а также быструю вставку и удаление элементов с обоих концов. Это делает 
Ставь👍 , если было полезно!
Больше ответов на сайте👈 
✈️  С++ собеседования
list и deque — это контейнеры из STL, но они имеют разные характеристики и применения.deque более универсальным, чем list, но с немного большей сложностью для операций вставки и удаления в середине.Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍8✍2
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍5🔥2
  set и multiset — это контейнеры из библиотеки стандартных шаблонов (STL), которые хранят элементы в отсортированном порядке. #include <set>
#include <iostream>
int main() {
std::set<int> s = {1, 2, 3};
s.insert(2); // Дубликат не добавится
for (int x : s) {
std::cout << x << " "; // Вывод: 1 2 3
}
}
#include <set>
#include <iostream>
int main() {
std::multiset<int> ms = {1, 2, 3};
ms.insert(2); // Дубликат добавится
for (int x : ms) {
std::cout << x << " "; // Вывод: 1 2 2 3
}
}
Основное отличие в том, что
set не допускает дубликатов, а multiset — допускает.Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍9❤1🤔1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍6❤1
  #include <iostream>
#include <map>
int main() {
std::map<int, std::string> m;
m[1] = "one"; // Вставка пары ключ-значение
m[2] = "two";
for (const auto& pair : m) {
std::cout << pair.first << ": " << pair.second << std::endl; // Вывод ключа и значения
}
}
map автоматически сортирует элементы по ключам.Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍8❤1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍6❤1
  тах.
delete освобождает память, выделенную для одного объекта:int* ptr = new int(5);
delete ptr; // Освобождает память для одного int
delete[] освобождает память, выделенную для массива объектов:
int* arr = new int[5];
delete[] arr; // Освобождает память для массива int
[] для одиночного объекта может вызвать ошибки.Ставь
Больше ответов на сайте
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍8❤1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍9❤1