分类:

C++

“Java 和 C++ 中子类对父类函数覆盖的可访问性缩小的问题”的题目看起来比较学术化,但的确是一个容易忽视的问题。本文力求详细阐述这一问题在 Java 以及 C++ 中的区别。 先介绍什么是“子类对父类函数覆盖的可访问性缩小”。对于继承而言,子类可以覆盖父类的“虚函数”——尽管 Java 中没有虚函数这一术语,但可以把 Java 的所有函数都看作虚函数,因为 Java 的所有函数都可以被子类覆 ...

0 个评论 1 次阅读

原文出处:http://www.cprogramming.com/c++11/c++11-auto-decltype-return-value-after-function.html C++11 引入了几种新的类型推断,可以让你为那些编译器本来就应该知道的事实写更少的代码。当然,我们也需要在必要的时间帮助编译器或者其他开发人员,但是使用 C++ 11,你可以在那些无聊的工作上花费较少的时间,而关注 ...

0 个评论 1 次阅读

虚继承以及一些技巧

by 豆子

原文出自:http://www.codeproject.com/Tips/1023429/The-Virtual-Inheritance-and-Funny-Tricks 简介 为解决钻石问题,C++ 引入了虚继承,改变了子类调用父类构造函数的方式。这种“副作用”对某些不同寻常的类实现非常有用。 虚继承 虚继承的引入主要是为了解决多继承环境下有歧义的层次组合问题(通常被称为“钻石问题”)。例如,F ...

0 个评论 1 次阅读

之前有朋友问起一个看起来比较“奇怪”的问题,记录如下。因为这个问题豆子也曾经遇到,初学者很有可能感到迷惑。 当时的代码是这样子的: 我们主要关心的是几个toStdString()函数出现的位置。前面两个语句(第2行和第4、5行)看似是一样的行为,其实不然。当你分别运行这两段代码的时候会发现,第一段很可能会出现段错误,第二段却能正常运行。而第一段和第三段又非常类似,不同之处在于前者是直接获得一个ch ...

7 评论 3 次阅读

这篇文章来自于一次讨论:https://www.devbean.net/2013/01/qt-study-road-2-model-view/#comment-17532。关于究竟是在堆上还是在栈上创建对象,可能很多初学者感到迷惑。我想可以把这部分内容拿出来详细介绍一下。现在,假设你已经清楚什么是堆,什么是栈。

6 评论 1 次阅读

参考链接:http://www.pixelstech.net/article/1390482950-do-%7B-%7D-while-%280%29-in-macros 虽然我们不建议使用宏,但是,作为一个语言特性,有时宏是不可避免的。对于这种情况,正确使用宏尤其重要。它可以帮助你减少很多重复性工作。但是,如果你没有仔细地定义,宏绝对能把你逼疯。在很多 C/C++ 程序中,你会看到类似如下定义的宏 ...

2 评论 1 次阅读

C++11 的重大改变

by 豆子

原文出处:http://blog.smartbear.com/software-quality/bid/167271/The-Biggest-Changes-in-C-11-and-Why-You-Should-Care 自从 C++ 语言第一次迭代已经过去 13 年。C++ 标准委员会成员 Danny Kalev 在本文中解释了这门编程语言有怎样的改进,以及如何帮助你编写更好的代码。 C++ 的 ...

6 评论 5 次阅读

C++11 新特性:decltype

by 豆子

参考文章:https://blogs.oracle.com/pcarlini/entry/c_11_tidbits_decltype_part decltype是 GCC 实现的第一个 C++ 11 新特性。它实际上起源于一个相当古老的 GNU 扩展关键字——__typeof__。这个非标准关键字也能够在 C 语言中使用,GNU Compiler Collection 的专业用户可能对它 ...

4 评论 1 次阅读

参考文章:https://blogs.oracle.com/pcarlini/entry/c_11_tidbits_explicit_overrides 2012 年 3 月 22 日,GCC 4.7.0 正式发布。从这个版本开始,GCC 增加了许多新的 C++ 11 的特性。今天我们要介绍的是其中的一个特性:显式的使用 final和override关键字。先来看下面的例子: 上面的代码 ...

1 个评论 0 次阅读

C++11 新特性:模板别名

by 豆子

参考文章:https://blogs.oracle.com/pcarlini/entry/template_aliases 2002 年,ISO C++ 标准化组织就已经提出了模板别名的概念。不过那时候还是叫做 typedef template。在接下来的几年中,以 Gabriel Dos Reis 和 Bjarne Stroustrup 为代表的开发者发展了这个想法,最终,我们在 C+ ...

0 个评论 1 次阅读
  • 1
  • 2

关于我

devbean

devbean

豆子,生于山东,定居南京。毕业于山东大学软件工程专业。软件工程师,主要关注于 Qt、Angular 等界面技术。

主题 Salodad 由 PenciDesign 提供 | 静态文件存储由又拍云存储提供 | 苏ICP备13027999号-2