struct ivector3d {
int x = 0;
int y = 0;
int z = 0;
};
int* get() {
return array;
}
int* get(int& size) {
size = 3;
return array;
}
struct ivector3d {
std::array<int, 3> array;
std::array<int, 3> get() {
return array;
}
};
#include <iostream>
#include <array>
using namespace std;
struct ivector3d {
std::array<int, 3> array;
std::array<int, 3> get() {
return array;
}
};
void scale(ivector3d* v, int k) {
for (int i = 0; i != 3; ++i)
v->array[i] *= k;
}
int main() {
ivector3d iv3d = {1,1,1};
scale(&iv3d, 2);
auto b = iv3d.get();
for(auto i : b)
{
cout << i << " ";
}
}
[pfemidi@pfemidi tmp]$ cat foobar.cpp
#include <iostream>
#include <random>
#include <chrono>
int main() {
const double from = 1.0;
const double to = 1.19;
std::default_random_engine engine(
std::chrono::system_clock::to_time_t(std::chrono::system_clock::now()));
std::uniform_real_distribution<> distr(from, to);
auto gen_number = [&engine, &distr] () { return distr(engine); };
std::cout << gen_number() << std::endl;
}
[pfemidi@pfemidi tmp]$ g++ foobar.cpp -o foobar
pfemidi@pfemidi tmp]$ ./foobar
1.07033
[pfemidi@pfemidi tmp]$ ./foobar
1.12032
[pfemidi@pfemidi tmp]$ ./foobar
1.14531
[pfemidi@pfemidi tmp]$ ./foobar
1.1703
[pfemidi@pfemidi tmp]$ ./foobar
1.00529
[pfemidi@pfemidi tmp]$ ./foobar
1.03029
[pfemidi@pfemidi tmp]$ ./foobar
1.00107
[pfemidi@pfemidi tmp]$ ./foobar
1.02606
[pfemidi@pfemidi tmp]$
Почему при использовании переменной в методе, выдает ошибку
class Test { static std::string question;
std::string Test::question;
C++
Нужно в двумерный массив char записать эти строки
std::string
, массив -- это std::vector
, используй std::getline
и например std::vector::push_back
.std::thread t5(&foo::bar, &f); // t5 runs foo::bar() on object f
std::thread t5(&A::Zoom, this);
что тут неправильно?
#include <random>
#include <iostream>
int GetRandomNumber(int min, int max)
{
auto rnd = std::random_device{};
auto gen = std::mt19937_64{rnd()};
auto dis = std::uniform_int_distribution<int>{min, max};
return dis(gen);
}
int main()
{
auto number = GetRandomNumber(0, 20);
std::cout << "number = " << number << '\n';
}
#include <random>
#include <iostream>
int main()
{
auto n = 9;
auto rnd = std::random_device{};
auto gen = std::mt19937_64{rnd()};
auto dis = std::uniform_real_distribution<double>{-0.1, 0.2};
auto res = std::vector<double>{};
std::generate_n(
std::inserter(res, std::end(res)),
n,
[&](){ return dis(gen); });
for (const auto& elem: res)
{
std::cout << elem << '\n';
}
}