浅谈c++(一)
本人为菜鸟一枚,如有错误,欢迎指正。
由于上半年学了C语言,为了更好的过渡到C++,我将在未来展示一下两者的不同以及优缺点。在c++中,不得不谈到类。这是C++中最重要的语法特征。我们可以通过它,定义自己的数据类型。
而基于此,标准C++库实现了丰富的类和函数,极大的丰富了我们的使用。
在C中,如果想把字符串进行某些操作时,就必须先定义一个字符串数组。我也很清楚的记得老师说过,C++把C这个弊病解决了,当时有些疑惑,再看了C++后,终于明白这个东西是:标准库类型string。
下面是第一个示例:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s1;//直接定义后即可,默认初始化,s1是个空串
cin>>s1; //输入
cout<<s1; //输出
}
在string中还有一些内置的函数:
getline(xx,s1) 从xx中读取一行赋给s1,返回s1。
s1.empty( ) s1为空,则返回true,否则返回false。
s1.size( ) 返回s1中的字符的个数。
s1[ n ] s中第n个字符的引用。
这里我想指明一下,这个size()其实也就是字符串的长度。不过这个得到的长度是没有后面的‘\0’。看一下下面的代码。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s1="abcdefg";//这是7个
int number;
number = s1.size();
cout<<number;
}
这是结果:
如果你拿字符数组来写这段代码,结果为8。
在string中,另一个优点就是字符串相加更方便了。
int main()
{
string s1="hello";
string s2=" world";
s1 = s1+s2;
cout<<s1;
}
输出结果:
浅谈c++(一)的更多相关文章
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
- 浅谈 LayoutInflater
浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...
- 浅谈Java的throw与throws
转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...
- 浅谈SQL注入风险 - 一个Login拿下Server
前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...
- 浅谈WebService的版本兼容性设计
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
- 浅谈angular2+ionic2
浅谈angular2+ionic2 前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别. 1. 项目所用:angular2+ionic2 ...
- iOS开发之浅谈MVVM的架构设计与团队协作
今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...
- Linux特殊符号浅谈
Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可 ...
- 浅谈Angular的 $q, defer, promise
浅谈Angular的 $q, defer, promise 时间 2016-01-13 00:28:00 博客园-原创精华区 原文 http://www.cnblogs.com/big-snow/ ...
- 浅谈Hybrid技术的设计与实现第三弹——落地篇
前言 接上文:(阅读本文前,建议阅读前两篇文章先) 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 根据之前的介绍,大家对前端与Native的交互应该有一些简单的认识了,很多 ...
随机推荐
- hbase运行流程图
hbase运行流程图
- mycli工具mysql命令自动补全
简介 MyCli 是一个 MySQL 的命令行客户端,可以实现自动补全和语法高亮.MyCli 也可用于 MariaDB 和Percona. 项目地址:http://mycli.net/ 安装 pip安 ...
- 【转】python调用youtube-dl实现视频下载
youtube-dl是一个命令行程序,用于从YouTube.com和更多网站下载视频.它需要Python解释器,版本2.6,2.7或3.2+,并且支持Unix,Windows或Mac OS X中运行. ...
- Codeforces1393 题解(A-D)
AC代码 A. Rainbow Dash, Fluttershy and Chess Coloring 可以推导出\(f_1 = 1, f_2 = 2, ..., f_n = f_{n - 2} + ...
- hdu6704 2019CCPC网络选拔赛1003 K-th occurrence 后缀数组
题意:给你一个长度为n的字符串,有q个询问,每次询问一个子串s(l,r)第k次出现的位置,若子串出现次数少于k次输出-1. 解题思路:先把SA跑出来,然后对于每次询问可以由l和rank[]找到l在所有 ...
- 原生javaScript导出表格数据
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- 小程序开发-基础组件icon/text/progress入门
小程序的基础组件--基础内容 基础内容分为三大组件: 1. icon--图标 index.wxml <view class="group"> <block wx: ...
- agumaster 出现实际股票数据
工程下载:https://files.cnblogs.com/files/xiandedanteng/agumaster20200430-3.zip --2020-04-30--
- 查看CentOs6.5/7的系统版本号
在centos6.5上用 [root@msg45 ~]# lsb_release -aLSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0- ...
- zt:HttpUrlConnection使用详解
下文转载自:https://www.cnblogs.com/tenWood/p/8563617.html 一,HttpURLconnection的介绍 在Android开发中网络请求是最常用的操作之一 ...