我是C和C ++的程序员,尽管我不拘泥于两种语言,而是将两者混合编写。有时在类中包含代码,可能带有操作符重载或模板,如此出色的STL显然是一种更好的方法。有时,使用简单的C函数指针的可读性和清晰度要高得多。因此,我发现两种语言都具有美感和实用性。我不想讨论“如果将它们混合并使用C ++编译器进行编译,那么就不再是混合,而是所有C ++”,我想我们都理解混合它们的意思。另外,我不想谈论C与C ++,这个问题全都与C ++ 11有关。
C ++ 11引入了我认为对C ++的工作方式的重大更改,但是它引入了许多特殊情况,异常和不规则性,这些情况改变了不同功能在不同情况下的行为,对多重继承施加了限制,用作关键字的标识符,扩展字符串文字,lambda函数变量捕获等。
我知道在将来的某个时刻,当您说C ++时,每个人都会假定C ++ 11。就像如今您说C一样,您很可能是说C99。这使我考虑学习C ++ 11。毕竟,如果我想继续用C ++编写代码,可能只是因为我的同事在某些时候需要开始使用这些功能。
以C为例。经过这么多年,仍然有很多人在学习和编写C语言代码。为什么呢?因为语言很好。好的意思是,它遵循许多规则来创建好的编程语言。因此,除了功能强大(几乎所有编程语言都很容易实现或很难实现)之外,C还是常规的,几乎没有例外。但是,C ++ 11我不这么认为。我不确定C ++ 11中引入的更改是否会使该语言变得更好。
所以问题是:为什么我要学习C ++ 11?