#include <iostream>
using namespace std;
class StrangeClass
{
public:
StrangeClass(const StrangeClass& other) = delete;
StrangeClass(const StrangeClass&& other) = delete;
StrangeClass& operator =(const StrangeClass& other) = delete;
StrangeClass& operator =(const StrangeClass&& other) = delete;
static StrangeClass* getNewInstance()
{
return new StrangeClass;
}
private:
StrangeClass()
{
// do something
}
};
int main() {
// StrangeClass c1; // it isn't compiled
// StrangeClass *c2 = new StrangeClass; // it also isn't compiled
StrangeClass *c3 = StrangeClass::getNewInstance();
delete c3;
return 0;
}
#include <iostream>
#include <type_traits>
template <typename U>
struct Data {
int value;
};
template <>
struct Data<double> {
double value;
};
template <typename T>
class Test {
Data<T> data;
public:
void test()
{
if (typeid(data.value).hash_code() == typeid(int).hash_code())
std::cout << "int";
else if (typeid(data.value).hash_code() == typeid(double).hash_code())
std::cout << "double";
else
std::cout << "other";
std::cout << std::endl;
}
};
int main(int argc, char* argv[])
{
Test<int> t1;
Test<double> t2;
Test<char> t3;
t1.test();
t2.test();
t3.test();
return 0;
}
#include <iostream>
#define square(x) x*x
int main() {
int var = square(5 + 5);
std::cout << var << std::endl;
}
#include <iostream>
template <typename T>
inline T square(T val)
{
return val * val;
}
int main() {
int var = square(5 + 5);
std::cout << var << std::endl;
}
#if defined WINDOWS
// do something
#elif defined LINUX
// do something else
#endif
небыла
while(true)
std::cout << rand() << std::endl;
srand(time(0));
Я пишу код, конкретный функционал, допустим, какую-то функцию, вот я закончил эту функцию, она работает прекрастно, протестил - все ок, и теперь мне коммитить, зафиксировать?