#include <iostream>
#include <boost/beast.hpp>
namespace asio = boost::asio;
namespace beast = boost::beast;
namespace http = boost::beast::http;
int main(int argc, char** argv)
{
asio::io_context io;
asio::ip::tcp::socket socket(io);
asio::ip::tcp::resolver resolver(io);
asio::connect(socket, resolver.resolve("scooterlabs.com", "http"));
http::request<http::empty_body> request(http::verb::get, "/echo", 11);
request.set(http::field::host, "scooterlabs.com");
request.set(http::field::user_agent, BOOST_BEAST_VERSION_STRING);
http::write(socket, request);
beast::flat_buffer buffer;
http::response<http::string_body> response;
http::read(socket, buffer, response);
std::cout << response.body() << std::endl;
socket.shutdown(socket.shutdown_both);
return 0;
}
new_node->data = &value;
вам стоило использовать new_node->data = std::forward<T>(value);
. Советую почитать про универсальные ссылки. Здесь или же в книге Скотта Майерса. Вкратце эта ссылка становится rvalue, если инициализирована rvalue-значением и lvalue, если инициализирована lvalue-значением std::string extension = ".txt";
std::vector<std::string> files;
std::filesystem::directory_iterator iterator(std::filesystem::current_path());
for (; iterator != std::filesystem::end(iterator); iterator++)
{
if (iterator->path().extension() == extension)
{
files.push_back(iterator->path().string());
}
}
path().string() -> path().filename().string()
std::vector
(если "список" подразумевает массив) или же std::list
(если "список" подразумевает двусвязный список), вызвав метод eraseint* erase(int* arr, size_t size, int n)
{
int* decreased_array = new int[size - 1];
for (int i = 0; i < n; i++)
{
decreased_array[i] = arr[i];
}
for (int i = n + 1; i < size; i++)
{
decreased_array[i - 1] = arr[i];
}
return decreased_array;
}
#include <filesystem>
int main()
{
std::string file_path = "CP.mp4";
std::string path = "xxx/CP.mp4";
std::filesystem::copy_file(file_path, path);
return 0;
}