c++ 标准库内有很帅的容器,比如list,hash等等。需要构造一个字符串列表,只要:
// list
#include <list>
#include <algorithm>
using namespace std;
list<string> list_make()
{
// c++ style
string a ="hello";
string b ="world by c++";
list<string> lst ;
lst.push_back(a);
lst.push_back(b);
return lst;
}
c的想看吗?算了,你想看我不想写。因为都是动态分配的指针。c没有基本的string类型,需要自己用buf模拟。没有动态数据结构,需要自己用指针串接。想想也头大。如果那个地方指针分配不对,c就会以暴烈的方式挂掉。
我用c写了一个find_files的函数,希望它返回一个目录内的全部符合通配符的文件,然后为这个返回的list头大。最后还是用一个buf,通过|来分隔的方式返回,表达我的list概念。
c逼迫你在脑袋里面装入一个内存布局,而不是你的业务概念,这就是为什么说c更加倾向于机器而不是程序员。c++让你更多的考虑自己的业务概念,而不是内存模型。分野就在于此。
分享到:
相关推荐
STL包括容器(如vector、list、set)、迭代器、算法和函数对象,是C++编程的重要工具。 C语言是许多现代编程语言的基础,它的《C语言函数速查.chm》可能包含C语言的语法、数据类型、控制结构(如if、switch、for、...
还有,C语言风格的类型转换(例如使用C语言中的强制类型转换)也被弃用,推荐使用static_cast、reinterpret_cast和const_cast进行类型转换。 C++11强化了语言的可用性,引入了nullptr和constexpr关键字,允许更明确...
《C和C++代码锦囊-中英对照》是一份专为编程爱好者和学习者准备的宝贵资源,它涵盖了C语言和C++编程的核心概念、关键语法以及实用技巧。这份资料的独特之处在于提供了中英双语对照,既方便国内用户理解,又有助于...
C++起源于C语言,强调底层控制和性能优化,而C#由微软开发,是面向对象的、类型安全的语言,常用于现代应用程序和游戏开发。将C++代码转换为C#代码涉及到对两种语言语法差异的理解以及对特定库和API的适配。以下是...
在"C语言和C++的优质项目源码.zip"这个压缩包中,我们主要探讨的是C语言和C++这两种编程语言的实践应用。C语言作为基础的系统级编程语言,以其高效、灵活和移植性强的特点被广泛应用,而C++则是在C语言的基础上增加...
本篇文章将详细介绍如何在Xcode中进行C++和Objective-C的混编,以便在Objective-C项目中使用C++的STL。 首先,我们需要理解C++和Objective-C之间的主要差异。Objective-C是C的超集,增加了面向对象特性,如类别...
1. **类型转换**:C++中的`static_cast`、`dynamic_cast`、`reinterpret_cast`和`const_cast`提供了安全的类型转换机制,避免了C语言中的强制类型转换可能导致的问题。 2. **错误处理**:C语言中通常使用返回值来...
2. **对象和类**:C++引入了面向对象编程的概念,这是它与C语言的主要区别之一。对象是类的实例,而类则定义了一组相关的数据和操作这些数据的方法。 3. **封装**:封装是面向对象编程的三大特性之一,通过将数据和...
### C和C++头文件对比一览 #### 引言 本文旨在探讨C语言与C++语言在头文件方面的异同之处。随着C++的发展和完善,其标准库经历了一系列的重大变革,尤其是在1998年标准化之后。这些变化不仅体现在命名习惯上,还...
通过这样的实现,我们可以获得一个功能接近C++`std::list`的C语言版本,虽然在灵活性和效率上可能有所妥协,但它提供了一种在纯C环境中使用类似链表容器的方式。对于那些需要在C环境中实现高效数据结构和算法的...
《C和C++程序设计》这个主题包含了丰富的编程知识,主要涵盖了C语言和C++语言的基础、高级特性以及相关的编程实践。以下是对这些知识点的详细解释: 1. **C语言基础**:C语言是计算机科学中的基石,它以其简洁、...
在C语言编程方面,Turbo C/C++ 提供了一个集成的开发环境(IDE),其中包括源代码编辑器、编译器、链接器和调试器。源代码编辑器允许程序员编写、修改和保存C或C++程序,同时具备语法高亮和自动缩进等特性,提高了...
2. **指针**:C和C++的一个关键特性是它们对指针的支持。指针允许直接访问内存地址,增强了程序的灵活性,但也带来了内存管理的复杂性。理解指针的运算和指针作为函数参数的使用是掌握这两门语言的关键。 3. **预...
C++是一种强大的、通用的编程语言,源自C语言并扩展了其功能,支持面向对象编程和泛型编程。本资源包含8本C和C++的中文手册,是学习和查询这两种语言的重要参考资料。以下是这些手册可能涵盖的关键知识点: 1. **...
SGI(Silicon Graphics, Inc.)公司在90年代为C++社区贡献了一个广受欢迎的STL实现,因其易读性和高效性而备受赞誉。这个版本的STL源码包含了容器、迭代器、函数对象、算法和内存管理等核心组件。 1. **容器** - *...
这份资料旨在帮助学习者巩固和提升C/C++编程的基础知识,以及解决实际问题的能力。 1. **C语言基础** - **变量与数据类型**:包括基本数据类型(int, char, float, double等)、指针类型和自定义数据类型(struct,...
《C和C++代码精粹》是一本深受程序员喜爱的编程资源,涵盖了C语言和C++语言的基础到高级知识,包括经典算法、数据结构、设计模式等多个方面。这本书旨在通过精选的代码实例,帮助读者深入理解和掌握这两种强大的编程...
在编程世界中,C语言和C++是两个非常重要的编程语言。C语言以其简洁、高效和底层特性闻名,而C++则是在C的基础...这个过程中,不断实践和编写代码是最重要的,理论知识结合实际项目,才能真正实现从C到C++的无缝转换。
6. **历史背景**:从BCPL到Java的发展历程,包括C语言和C++的历史沿革。 #### 二、详细知识点解析 **1. 基础概念** - **类型**:C语言支持多种基本数据类型,如整型(int)、字符型(char)、浮点型(float/double)等...