long long
в Си, long
в Java, int64
в Delphi.>>> ints = [random.randint(-10,10) for x in range(1,101)]
>>> while ints:
... print('{0:>5}{1:>5}{2:>5}{3:>5}'.format(*ints[:4]))
... ints = ints[4:]
...
5 5 6 -2
-4 6 0 4
9 -7 6 5
-1 0 2 10
7 -8 8 1
7 4 -7 6
-5 -6 -3 9
2 -4 2 2
-1 9 -7 -2
5 10 4 10
-9 8 5 7
7 9 -5 -7
9 10 10 9
0 -8 -4 -3
-5 5 6 -10
1 -6 -4 -9
-2 5 -4 2
10 10 9 -6
-1 -3 -3 -1
2 6 -5 -7
-5 1 7 -3
3 9 -8 -7
10 5 -5 6
2 9 -1 -4
-1 -2 -9 -2
1. Что такое миграция, для чего конкретно нужна и как это связанно с сохранением данных?переход от одной структуры БД к другой без потери косистентности
2. Чем миграция отличается от db_upgrade or db_downgrade?миграция подразумевает как прямое изменение апгрейд, так и обратное изменение - даунгрейд
3. Что будет, если миграции не производить?миграции можно не делать,
Какую тему диплома на ... выбрать?
Идешь к бизнесу -- говоришь, что хочешь работать бесплатно и делать все что ему нужно
Если не нашел бизнеса -- идешь к преподу, он находит тебе задачу или бизнес у которого есть задачи
Если нет -- идешь в гугл и берешь любую задачу
https://www.reddit.com/r/AppIdeas/
// my_plugin_api.hpp
#include <string>
class my_plugin_api {
public:
virtual std::string name() const = 0;
virtual float calculate(float x, float y) = 0;
virtual ~my_plugin_api() {}
};
// my_plugin_sum.cpp
#include <boost/config.hpp> // for BOOST_SYMBOL_EXPORT
#include "../tutorial_common/my_plugin_api.hpp"
namespace my_namespace {
class my_plugin_sum : public my_plugin_api {
public:
my_plugin_sum() {
std::cout << "Constructing my_plugin_sum" << std::endl;
}
std::string name() const {
return "sum";
}
float calculate(float x, float y) {
return x + y;
}
~my_plugin_sum() {
std::cout << "Destructing my_plugin_sum ;o)" << std::endl;
}
};
// Exporting `my_namespace::plugin` variable with alias name `plugin`
// (Has the same effect as `BOOST_DLL_ALIAS(my_namespace::plugin, plugin)`)
extern "C" BOOST_SYMBOL_EXPORT my_plugin_sum plugin;
my_plugin_sum plugin;
} // namespace my_namespace
#include <boost/dll/import.hpp> // for import_alias
#include <iostream>
#include "../tutorial_common/my_plugin_api.hpp"
namespace dll = boost::dll;
int main(int argc, char* argv[]) {
boost::filesystem::path lib_path(argv[1]); // argv[1] contains path to directory with our plugin library
boost::shared_ptr<my_plugin_api> plugin; // variable to hold a pointer to plugin variable
std::cout << "Loading the plugin" << std::endl;
plugin = dll::import<my_plugin_api>( // type of imported symbol is located between `<` and `>`
lib_path / "my_plugin_sum", // path to the library and library name
"plugin", // name of the symbol to import
dll::load_mode::append_decorations // makes `libmy_plugin_sum.so` or `my_plugin_sum.dll` from `my_plugin_sum`
);
std::cout << "plugin->calculate(1.5, 1.5) call: " << plugin->calculate(1.5, 1.5) << std::endl;
}
Loading the plugin
Constructing my_plugin_sum
plugin->calculate(1.5, 1.5) call: 3
Destructing my_plugin_sum ;o)
rand()
в C++ является уязвимым и будет удалён из стандарта.struct Point { // понятно, что это координаты точки, а не абстрактные буквы в вакууме
double x, y;
};
// имена, конечно, надо заменить на что-то, имеющее отношение к вашей задаче
struct Bundle { // здесь понятно, что это какая-то композиция из трёх точек
Point p1, p2, p3;
};
std::vector<Bundle> v; // а здесь — вектор из этих композиций из трёх точек
// добавляем
v.emplace_back(Bundle{{ 0.0, 0.1},
{0.15, 0.05},
{ 1.0, 0.5}});