plasma_effectのメモ帳的ブログのようなsomething
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
struct complex{
int re_,im_;
constexpr complex(int re=0, int im=0):re_(re),im_(im){}
complex(complex const&)=default;
complex(complex&&)=default;
~complex()=default;
};
int main(){
complex v = complex(0,2);//2iって書きたい
}
struct complex{
int re_,im_;
constexpr complex(int re=0, int im=0):re_(re),im_(im){}
complex(complex const&)=default;
complex(complex&&)=default;
~complex()=default;
};
complex operator"" _i(unsigned long long int v){
return complex(0, v);
}
int main(){
complex v = 2_i;//complex(0, 2);
}
int operator"" _hoge(unsigned long long int v){//OK
return static_cast<int>(v);
}
int operator"" _piyo(int v){
return static_cast<int>(v);
}
int main(){}
int operator"" hoge(unsigned long long int v){
return static_cast<int>(v);
}//コンパイルは通るが警告が出る
int main(){}
int operator"" _to_int(long double d){
return static_cast<int>(d);
}
int main(){
int v = 2.0_to_int;
}
#include<utility>
int operator"" _hoge(char const*, std::size_t s){
return s;
}
int main(){
int v = "test"_hoge;
}
template<char... Cs>struct string_t{};
template<char... Cs>string_t<Cs...> operator"" _hage(){
return string_t<Cs...>{};
}
int main(){
auto x = 12345_hage;//string_t<'1', '2', '3', '4', '5'>
}
int main(){
const int v = 1 + 2;//明らかに3
const int u = 3 * 5;//明らかに15
}
template<int N>struct test{
static int get(){
return N;
}
};
int main(){
const int v = 1 + 2;
const int u = test<v>::get();
}
int hoge(){return 0;}
int main(){
constexpr int v = 0;//OK
constexpr int u = hoge();//NG
}
constexpr int hoge(){return 0;}
constexpr int fact(int n){return n==0 ? 1 : n*fact(n-1);}
int main(){
constexpr int v = 0;//OK
constexpr int u = hoge();//OK
constexpr int w = fact(5);//OK
}
struct pair{
int x_,y_;
constexpr pair(int x=0,int y=0):x_(x),y_(y){}
pair(pair const&)=default;
pair(pair&&)=default;
~pair()=default;
};
int main(){
constexpr pair p(0,1);
constexpr int u = p.x_;
constexpr int v = p.y_;
}
#include<functional>
#include<iostream>
#include<string>
int main()
{
std::string str="int add(int n,int m){return n + m;}";
auto func = std::compiling<int(int, int), 8>(str.begin(), str.end());
std::cout<< func(1, 2) <<std::endl;
}
カレンダー
カテゴリー
フリーエリア
最新CM
最新記事
プロフィール
ブログ内検索
P R