К тому же в стандартном std:vector весь функционал уже есть
Что действительно нужно и актуально в контексте именно Laravel?
Introduction
Chapter 1: Laravel Basics
Chapter 2: Let’s Grow a SOLID Garden
Chapter 3: Abstract Factory
Chapter 4: Builder
Chapter 5: The Factory Method
Chapter 6: Prototype
Chapter 7: Singleton
Chapter 8: Simple Factory Method
Chapter 9: Adapter
Chapter 10: Bridge
Chapter 11: Composite
Chapter 12: Decorator
Chapter 13: Facade
Chapter 14: Flyweight
Chapter 15: Proxy
Chapter 16: Chain of Responsibility
Chapter 17: Command
Chapter 18: Interpreter
Chapter 19: Iterator
Chapter 20: Mediator
Chapter 21: Memento
Chapter 22: Observer
Chapter 23: State
Chapter 24: Strategy
Chapter 25: Template Method
Chapter 26: Visitor
Chapter 27: More Resources
std::list<std::pair<int, std::string>>
Дано многозначное число N
но зная хорошо русский язык, математику, и н о ф р м а т и к у.
Можно ли не зная физику, но зная хорошо русский язык, математику, информатика поступить на программиста в институт?
Можно ли стать программистом, не зная физику вообще?
Можно ли не зная физику, но зная хорошо русский язык, математику, инофрматику. Поступить на программиста в институт?
а технический аспект можно самому освоить за короткое время
Где почитать?
Мне нужно что бы 2 клиента могли отправлять данные на сервер, а сервер перенаправлял данные от 1-го клиента 2-му и наоборот, как это сделать?
Вообще пишу простенькую онлайн игру на двоих, где можно об этом почитать?
2+ ГБ ОЗУ?
В классах содержится очень много методов
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
struct Data
{
unsigned size;
string header;
Data(string s = {}) : size(s.size()), header(s)
{
//...
}
};
ifstream& operator>>(ifstream& is, Data& block)
{
is.read(reinterpret_cast<char*>(&block.size), sizeof(block.size));
block.header.resize(block.size);
is.read(block.header.data(), block.size);
return is;
}
ofstream& operator<<(ofstream& os, Data& block)
{
os.write(reinterpret_cast<char*>(&block.size), sizeof(block.size));
os.write(block.header.data(), block.size);
return os;
}
struct Storage
{
string file;
vector<Data> data;
Storage(string filename) : file(filename)
{}
Storage(string filename, const vector<Data>& data) : file(filename), data{data}
{
}
void readData(ios_base::openmode);
void saveData(ios_base::openmode);
void printData();
void clear();
};
void Storage::readData(ios_base::openmode mode)
{
ifstream ifs(file, mode);
if(!ifs)
{
cerr << "Error..." << endl;
return;
}
Data value;
if(ios_base::binary == mode)
{
while(ifs >> value)
{
data.push_back(value);
}
}
else
{
while(ifs >> value.size)
{
ifs >> value.header;
data.push_back(value);
}
}
cout << data.size() << "\tBlocks read" << endl;
}
void Storage::saveData(ios_base::openmode mode)
{
ofstream ofs(file, mode);
if(!ofs)
{
cerr << "Error..." << endl;
return;
}
if(ios_base::binary == mode)
{
for(auto& v : data)
{
ofs << v;
}
}
else
{
for(const auto& v : data)
{
ofs << v.size << " " << v.header << "\n";
}
}
cout << data.size() << "\tBlocks written" << endl;
}
void Storage::printData()
{
cout << "\nData size: " << data.size() << "\n";
for(const auto& v : data)
{
cout << "Header:\t" << v.header << "\tSize:\t" << v.size << "\n";
}
cout << endl;
}
void Storage::clear()
{
data.clear();
data.shrink_to_fit();
cout << "\nclear..." << endl;
}
int main()
{
vector<Data> myDataVec = {{"one"}, {"two"}, {"three"}};
Storage store("D:\\mydata.to", myDataVec);
store.printData();
store.saveData(ios_base::out);
//store.saveData(ios_base::binary);
store.clear();
store.printData();
store.readData(ios_base::in);
//store.readData(ios_base::binary);
store.printData();
}
template< class T >
std::pair<T, T> minmax( std::initializer_list<T> ilist )
{
auto p = std::minmax_element(ilist.begin(), ilist.end());
return std::make_pair(*p.first, *p.second);
}
Почему #define не рекомендуетс к использованию?
да нет, вроде всё нужное установлено.