重学C++ (一) 变量和基本类型、标准库类型

本文是作者重学C++的笔记,涵盖了快速入门、变量和基本类型、标准库类型等内容。强调了C++中变量初始化的重要性,指出了size_type在vector操作中的关键角色,以及main函数的返回类型要求。同时提醒读者注意C++中迭代器的使用规则和字符串操作的细节。
摘要由CSDN通过智能技术生成

前言

大一的时候我就已经学过C++程序设计了,但是我从来不敢跟别人说我会C++。

事实上,平时里大多数时候我用的是C++里面C的部分,偶尔用一下类来封装(其实用struct也可以实现的)。

对于C++的特点,我一直没有很好的去学习,只是略知一二,所以在实际使用中常常会出现一些难以察觉的问题。

我举个很简单的例子,我们打算输出一个vector内的元素:

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int> vc;
    vc.push_back(1);
    vc.push_back(2);
    for (int i = -1; i < vc.size()-1; i++)
        cout<<vc[i+1]<<endl; 

    return 0;
}

也许之前我们会以为这段代码完美无错,然而事实并非我们想的那样,结果是什么都没输出。

问题出在哪?如果你明白size()返回的是size_type类型,而该类型是unsigned的,那么就不会犯这种错误了。(同样的问题会出现在sizeof上)

另外,C++中main的返回值必须是int你是否知道?大部分iterator只能自增自减而不能像 i+=n 这样赋值?

C++的面向对象思想,范式编程,STL的源码实现,我都只是停留在“了解”的层面,这远远是不够的。

通常,只有在“熟悉”的情况下,我才敢将其写到简历上,跟别人说。

很多原因,促使我想要重新来学习C++,之前读过《C++ primer》,但是并没有读完,而且读到越后面越没耐心。

这一次,我希望自己能够一步一个脚印,把这本书啃下来,并将一些零散的,我自己认为需要注意的点在blog中记录下来,这也是敦促自己学习的一种方式。

与此同时,我将开始阅读STL的部分源码,很期待能够获取新知。

第一章 快速入门

1.对于main函数,返回类型必须是int型,返回值是一个状态指示器,0表示成功,非0由操作系统定义。UNIX中可以通过下面命令获取状态:

$ echo $?

2.标准库定义了4个IO对象:cin,cout,cerr,clog;(cerr默认不缓冲,clog默认带缓冲)

3.输出操作返回的值是输出流本身:

std:cout<<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值