C ++ 23: - 和:待换行员

2021-04-02 09:00:08

在C ++语法的最大变化中 - > ::运营商将被替换为。运营商在即将推出的C ++ 23 AF00L提案中。这个提议背后的理由是没有混淆(关于哪些运营商使用)。

::运算符不仅用于SCOPE分辨率,也可以作为to-to-static_member。但是,另一种引用静态成员的方法是通过对象实例。所有这些都会导致微妙的混乱::实际上是表示的。

//类具有静态构件窗口小部件{静态int count;};窗口小部件O;窗口小部件* p =& o; //访问窗口小部件' s静态次数a =窗口小部件:: count; int b = o.count; int b = o.count; int b = o.count; int b = o.count; int b = o.count; c = p->计数;

努力模仿C ++ 11范围的枚举语法,无需其安全即可通过在命名空间或类中括起未提示的枚举。所以::操作员实际上没有告诉开发人员阅读枚举类型的枚举使用。

//命名空间范围枚举命名空间水果{枚举水果{苹果,橙色,香蕉}}; //命名空间范围的使用范围enumfruit :: Orange

此外,当未提出的枚举是类成员时,可以使用类成员访问运算符访问其枚举器。和 - &gt ;.所有这些都增加了混乱。

//类范围枚举枚举水果{枚举水果{Apple,Orange,Banana}}; //类范围的使用范围enumfruit :: Orangefruit x; x; int c = x.orange; int d = p - >橙色;

同样, - > 运算符不仅用于指针到成员,还用于指示返回类型的lambda。 // C ++ 11 Lambda带布尔值返回typeauto lambda = []() - > BOOL {...} // C ++ 17扣除引导引导模板< typename t> struct s {t val;}; //将字符串文字映射到s< std :: string> s(const char *) - > s< std :: string&gt ;; 努力结束一个人摔倒的所有混乱, - > 和::运营商将被推翻支持普遍性。 操作员。 除了这个新的开发外,C ++ 23还将获得垃圾收集来管理其内存,每个C ++类自动从基础对象类继承! “这真是个好消息! 我可以利用我父亲的1995年原始Java教科书学习C ++ 23!“ - 俄罗斯大学生,安妮卡 在任何人对这篇博客文章发出严重评论之前,请好好看看发布日期!

对于那些喜欢今年4月的愚人帖子的人,请务必查看2019年和2020年4月的愚人节: