C++是一种通用编程语言,如今已广泛用于竞争性编程。它具有命令式,面向对象和通用编程功能。 C++可在Windows,Linux,Unix,Mac等许多平台上运行。
Go是一种过程编程语言。它由Google的Robert Griesemer,Rob Pike和Ken Thompson于2007年开发,但于2009年作为一种开放源代码编程语言发布。程序通过使用软件包进行组装,以有效地管理依赖关系。该语言还支持动态语言一样的环境采用模式。
以下是Golang和C++语言之间的一些区别:
Go |
C++ |
---|---|
Go is a procedural and concurrent programming language. | C++ is an object-oriented programming language. |
Go does not contain classes with constructors and deconstructors. | C++ does contain classes with constructors and deconstructors. |
Go language provides automatic garbage collection for allocating memory. | C++ language does not provide automatic garbage collection for allocating memory. |
Go language contains pointers, but does not contain arithmetic pointer. | C++ language contains both pointers as well as arithmetic pointers. |
In Go language, map is passed by reference. | In C++, map is passed by value. |
It does not use header files. Instead of header file, go use packages. It uses import to import external packages. | It contain header file and does not contain package. |
It does not support implicit type conversion. | It support implicit type conversion. |
It does not support function overloading and also does not support user defined operators. | It support function overloading and also support user defined operators. |
It does not support const or volatile qualifiers. | It supports const and volatile qualifiers. |
It provides nil for invalid pointers. | It provides NULL or 0 or nullptr for invalid pointers |
Go use panic and recover for resolving error. | C++ use try, catch, and throw for resolving error. |
It does not have while or do-while statements. But for loop can be used like a while loop. | It have while or do-while statements. |
It is more strong typed as comparison to C++ language. | It is less strong typed as compare to Go language. |
Go contains goroutines and channel. | C++ has threads. |
Go does not support inheritance. But it provides an alternative in the form of Embedding. | C++ supports inheritance. |
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。