C++笔记

C、C++区别:

C包含char,scanf()和gets()函数,#include <cstring>,<string.h>,#<stdio.h>

C++包含string,cin,对应的头文件是#include <string>,#include<iostream>

C++里的char和string

C++中的char是个基本类型,跟int一样;而string却是个库自带的类,
string这个类包括很多成员函数,比如push_back(), insert(), append()等,声明的变量是个对象,但不需要程序员自动析构
C++里的 cstring对应C语言的string.h ,

#include <cstring>和c中<string.h>一样的

#include <string>c++中的字符串库

下面是C中字符串与C++字符串的区别。
1)在C语言中,将字符串作为字符数组来处理。即C string就是 char arrary[MAX_SIZE];字符数组。
而C++中的string 是 string class, 声明形式 string strObject.变量是个对象。只是他是C++ 标准库提供的string类,
其实现效果跟用户自定义的类一样。
2) C string 字符串可以用字符串数组 char Array[MAX_SIZE];与字符串变量 char *p; 两种方式来存储。 以 ''为字符串结束标志。 
strlen 是把串结束符 ''算在内的,而sizeof是在对字符数组和字符变量的操作结果不一样,引起原理不一样。
strcmp, strncmp,连接使用strcat, 不能 str1+str2, strchr(str1, ch); 在str1中查找ch第一次出现的位置,返回指针变量
而C++ string是类,是对象.结束符是npos,或者-1; 不用指定字符数目的大小。
+ 取代了strcat length和size取代了strlen append, compare, substr,find, find_firt_of等函数 可以直接=, 而不用strncpy。
insert, replace, at, erase, clear, swap还有iterator函数的实现。
原文地址:https://www.cnblogs.com/hellochennan/p/6607196.html