C++11¹ÖºÂ15²ó
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
ñ¸ì¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
]
³«»Ï¹Ô:
Âè15²ó¤«¤é¤Ï¡¢C++11¤Ç¼ÂÁõ¤µ¤ì¤¿´Êñ¤ËÍøÍѤǤ¤ëµ¡Ç½¤ò²¿¸Ä...
ºÇ½é¤Ëfinal¡¢override»ØÄê»Ò¤ò¾Ò²ð¤·¤Þ¤¹¡£
1: class Super final
2: {
3: Super(){}
4: ~Super(){}
5: virtual void func() final {}
6: virtual void hoge() {}
7: };
8:
9: class Sub : public Super//final»ØÄê»Ò¤Î¥¯¥é¥¹¤ò´ðËÜ...
10: {
11: Sub();
12: ~Sub();
13: void func(){}//ƱÍͤËfinal»ØÄê»Ò¤Î²¾ÁÛ´Ø¿ô¤Ï¥ª¡¼¥Ð¡¼...
14:
15: virtual void hoge()override{}//¥ª¡¼¥Ð¥é¥¤¥É¤µ¤·¤Æ¤¤...
16: };
¢¨¤³¤Î¥×¥í¥°¥é¥à¤Ï¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
final»ØÄê»Ò¤Ï¥¯¥é¥¹¡¢²¾ÁÛ´Ø¿ô¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¡¢¥¯¥é¥¹...
override»ØÄê»Ò¤Ï¡¢²¾ÁÛ´Ø¿ô¤Ë»ÈÍѤǤ¡¢¤½¤Î²¾ÁÛ´Ø¿ô¤¬¥ª¡¼...
¤³¤ì¤é¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥×¥í¥°¥é¥à¼Â¹ÔÁ°¤Ë¤³¤¦¤¤¤Ã¤¿´Ê°×¤Ê¥ß...
¼¡¤Ëdelete»ØÄê»Ò¤ò¾Ò²ð¤·¤Þ¤¹¡£
¥¯¥é¥¹¤Î¥³¥Ô¡¼¤ò¶Ø»ß¤µ¤»¤ë¾ì¹ç¡¢º£¤Þ¤Ç¤Ï
1: class Hoge
2: {
3: private:
4: Hoge(const Hoge& obj){}
5: Hoge& operator=(const Hoge& obj){}
6:
7: public:
8: Hoge(){}
9: ~Hoge(){}
10: };
¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¡¢ÂåÆþ±é»»»Ò¤Î¥ª¡¼¥Ð¡¼¥í¡¼¥É¤òprivate...
C++11¤Ç¤Ïdelete»ØÄê»Ò¤ò»È¤¦¤³¤È¤Ë¤è¤Ã¤Æpublic¤Ë½ñ¤¤¤¿¾õÂÖ...
1: class Hoge
2: {
3: public:
4: Hoge(){}
5: ~Hoge(){}
6: Hoge(const Hoge& obj) = delete;//ºï½ü
7: Hoge& operator=(const Hoge& obj) = delete;//ºï½ü
8: };
¤³¤Î¤è¤¦¤Ëʤó¤Ç¥³¥ó¥¹¥È¥é¥¯¥¿´Ø·¸¤¬½ñ¤±¤ë¤è¤¦¤Ë¤Ê¤ê¡¢¸«...
¢¨¤Á¤Ê¤ß¤Ë¡¢C++11¤Ç¤Ï±¦ÊÕÃÍ»²¾È¤¬¤¢¤ë¤¿¤á¡¢´°Á´¤Ë¶Ø»ß¤¹¤ë...
¤Þ¤¿¡¢delete»ØÄê»Ò¤ò»È¤¦¤³¤È¤Ë¤è¤Ã¤Æ¡¢´Ø¿ô¤Î¥ª¡¼¥Ð¡¼¥í¡¼...
1: void func(int) = delete;
2:
3: void func(int n)
4: {
5: return;
6: }
7:
8: void func(float n)
9: {
10: return;
11: }
12:
13: int main()
14: {
15: func(5);//¥¨¥é¡¼
16:
17: func(5.5f);//OK
18:
19: return 0;
20: }
¼ÂºÝ¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥Æ¥ó¥×¥ì¡¼¥È¤ÈÁȤ߹ç¤ï¤»¤ë¤È»×¤¤¤Þ...
1: void func(int) = delete;
2:
3: template<typename T>
4: void func(T a){}
5:
6: int main()
7: {
8: func('a');//OK
9: func(1.0);//OK
10:
11: func(1);//¥¨¥é¡¼
12:
13: return 0;
14: }
¹¤¤ÄêµÁ¡Ê»»½Ñ·¿¡¢»²¾È·¿Åù¡Ë¤Ç¶Ø»ß¤Î¾ì¹ç¤Ï<type_traits>¡¢...
¼¡¤Ë¡¢default»ØÄê»Ò¤Ç¤¹¡£
1: class Hoge
2: {
3: public:
4: Hoge() = default;
5: ~Hoge() = default;
6: };
default»ØÄê»Ò¤ò»ÈÍѤ¹¤ë¤È¡¢³Æ¥³¥ó¥¹¥È¥é¥¯¥¿µÚ¤Ó¥Ç¥¹¥È¥é¥¯...
¤³¤ì¤é¤Ï½ñ¤«¤Ê¤¯¤Æ¤âÌäÂê¤Ï¤Ê¤¤µ¡Ç½¤Ç¤¹¤¬¡¢²ÄÆÉÀ¤¬¤«¤Ê¤ê...
°Ê¾å¤Ç¤ª¤Þ¤±¡¤ò½ª¤ï¤ê¤Þ¤¹¡£
Á°¢ªC++11¹ÖºÂ14²ó
¼¡¢ªC++11¹ÖºÂ16²ó
#vote(±¦ÊÕÃÍ»²¾È¤ÎÀâÌÀ¤·¤È¤é¤ó¤ä¤ó[0],µö¤·¤Æ¤¯¤À¤µ¤¤[0],...
½ªÎ»¹Ô:
Âè15²ó¤«¤é¤Ï¡¢C++11¤Ç¼ÂÁõ¤µ¤ì¤¿´Êñ¤ËÍøÍѤǤ¤ëµ¡Ç½¤ò²¿¸Ä...
ºÇ½é¤Ëfinal¡¢override»ØÄê»Ò¤ò¾Ò²ð¤·¤Þ¤¹¡£
1: class Super final
2: {
3: Super(){}
4: ~Super(){}
5: virtual void func() final {}
6: virtual void hoge() {}
7: };
8:
9: class Sub : public Super//final»ØÄê»Ò¤Î¥¯¥é¥¹¤ò´ðËÜ...
10: {
11: Sub();
12: ~Sub();
13: void func(){}//ƱÍͤËfinal»ØÄê»Ò¤Î²¾ÁÛ´Ø¿ô¤Ï¥ª¡¼¥Ð¡¼...
14:
15: virtual void hoge()override{}//¥ª¡¼¥Ð¥é¥¤¥É¤µ¤·¤Æ¤¤...
16: };
¢¨¤³¤Î¥×¥í¥°¥é¥à¤Ï¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
final»ØÄê»Ò¤Ï¥¯¥é¥¹¡¢²¾ÁÛ´Ø¿ô¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¡¢¥¯¥é¥¹...
override»ØÄê»Ò¤Ï¡¢²¾ÁÛ´Ø¿ô¤Ë»ÈÍѤǤ¡¢¤½¤Î²¾ÁÛ´Ø¿ô¤¬¥ª¡¼...
¤³¤ì¤é¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥×¥í¥°¥é¥à¼Â¹ÔÁ°¤Ë¤³¤¦¤¤¤Ã¤¿´Ê°×¤Ê¥ß...
¼¡¤Ëdelete»ØÄê»Ò¤ò¾Ò²ð¤·¤Þ¤¹¡£
¥¯¥é¥¹¤Î¥³¥Ô¡¼¤ò¶Ø»ß¤µ¤»¤ë¾ì¹ç¡¢º£¤Þ¤Ç¤Ï
1: class Hoge
2: {
3: private:
4: Hoge(const Hoge& obj){}
5: Hoge& operator=(const Hoge& obj){}
6:
7: public:
8: Hoge(){}
9: ~Hoge(){}
10: };
¥³¥Ô¡¼¥³¥ó¥¹¥È¥é¥¯¥¿¡¢ÂåÆþ±é»»»Ò¤Î¥ª¡¼¥Ð¡¼¥í¡¼¥É¤òprivate...
C++11¤Ç¤Ïdelete»ØÄê»Ò¤ò»È¤¦¤³¤È¤Ë¤è¤Ã¤Æpublic¤Ë½ñ¤¤¤¿¾õÂÖ...
1: class Hoge
2: {
3: public:
4: Hoge(){}
5: ~Hoge(){}
6: Hoge(const Hoge& obj) = delete;//ºï½ü
7: Hoge& operator=(const Hoge& obj) = delete;//ºï½ü
8: };
¤³¤Î¤è¤¦¤Ëʤó¤Ç¥³¥ó¥¹¥È¥é¥¯¥¿´Ø·¸¤¬½ñ¤±¤ë¤è¤¦¤Ë¤Ê¤ê¡¢¸«...
¢¨¤Á¤Ê¤ß¤Ë¡¢C++11¤Ç¤Ï±¦ÊÕÃÍ»²¾È¤¬¤¢¤ë¤¿¤á¡¢´°Á´¤Ë¶Ø»ß¤¹¤ë...
¤Þ¤¿¡¢delete»ØÄê»Ò¤ò»È¤¦¤³¤È¤Ë¤è¤Ã¤Æ¡¢´Ø¿ô¤Î¥ª¡¼¥Ð¡¼¥í¡¼...
1: void func(int) = delete;
2:
3: void func(int n)
4: {
5: return;
6: }
7:
8: void func(float n)
9: {
10: return;
11: }
12:
13: int main()
14: {
15: func(5);//¥¨¥é¡¼
16:
17: func(5.5f);//OK
18:
19: return 0;
20: }
¼ÂºÝ¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥Æ¥ó¥×¥ì¡¼¥È¤ÈÁȤ߹ç¤ï¤»¤ë¤È»×¤¤¤Þ...
1: void func(int) = delete;
2:
3: template<typename T>
4: void func(T a){}
5:
6: int main()
7: {
8: func('a');//OK
9: func(1.0);//OK
10:
11: func(1);//¥¨¥é¡¼
12:
13: return 0;
14: }
¹¤¤ÄêµÁ¡Ê»»½Ñ·¿¡¢»²¾È·¿Åù¡Ë¤Ç¶Ø»ß¤Î¾ì¹ç¤Ï<type_traits>¡¢...
¼¡¤Ë¡¢default»ØÄê»Ò¤Ç¤¹¡£
1: class Hoge
2: {
3: public:
4: Hoge() = default;
5: ~Hoge() = default;
6: };
default»ØÄê»Ò¤ò»ÈÍѤ¹¤ë¤È¡¢³Æ¥³¥ó¥¹¥È¥é¥¯¥¿µÚ¤Ó¥Ç¥¹¥È¥é¥¯...
¤³¤ì¤é¤Ï½ñ¤«¤Ê¤¯¤Æ¤âÌäÂê¤Ï¤Ê¤¤µ¡Ç½¤Ç¤¹¤¬¡¢²ÄÆÉÀ¤¬¤«¤Ê¤ê...
°Ê¾å¤Ç¤ª¤Þ¤±¡¤ò½ª¤ï¤ê¤Þ¤¹¡£
Á°¢ªC++11¹ÖºÂ14²ó
¼¡¢ªC++11¹ÖºÂ16²ó
#vote(±¦ÊÕÃÍ»²¾È¤ÎÀâÌÀ¤·¤È¤é¤ó¤ä¤ó[0],µö¤·¤Æ¤¯¤À¤µ¤¤[0],...
¥Ú¡¼¥¸Ì¾: