【C++】编程小结②-- 字符串定义变量

el/2024/4/13 14:15:44

关于字符串


如果要将字符一个个赋值进一个字符数组中并最后要用字符串的形式输出整个字符串,则需要手动在最后加入“\0”,不然编译器将读取不到结尾导致意想不到的后果。

定义变量的位置问题


c++里允许在for循环里定义变量,但这是有局限性的。
1.只能在for循环里定义一种相同类型变量。

for(int i = 0; i < 5; i++){}//ok:定义了一个在这个for循环里可以使用的变量i
for(int i = 0, j = 0; i < 5; i++)//ok:定义了i和j两个变量
forint i = 0, float j = 0; i < 5; i++){}//error

其实这个不难理解,因为int i = 0 和int j = 0是用逗号隔开的,而我们平时声明变量都是以分好结束,所以编译器应该无法识别这个语句。

2.如果在循环外面还要使用该变量,一定不要在循环语句内定义!这个变量一离开for循环就死掉了。

选择合适的工具编程


如果程序要求实现一个有序列性质的东西,有随时添加数据,删除数据,插入数据等的操作,优先考虑使用容器。
容器自身有下标操作,同时可以用迭代器操作,用迭代器操作应该是更为常见的做法,但是要注意插入元素可能会使迭代器失效。
平时应该培养对这些问题模型的敏感性,知道什么时候该用什么工具来编写程序,能大大缩短编程时间。


http://www.ngui.cc/el/4893676.html

相关文章

【C++】指向指针的指针int**的深复制的实现

实现指向指针的指针的深复制 如编写一个构造函数初始化一个矩阵。矩阵元素用一个二维数组来表示。 //定义了一个表示矩阵的类 class Matrix { public:Matrix(string name, int height, int width, int** element);~Matrix(); private:string name;int height;int width;int** …

【C++】编程小结③-- string 宏

关于string的“”号的使用 1.可以是两个string对象相加 #include<string> string s1 "abc"; string s2 "efg"; string s3 s1 s2; 2.和字符串字面值连接 当进行string对象和字符串字面值混合连接操作时&#xff0c;操作符的左右操作数必须至少…

【C++】Digest of 《effective C++》--1

《effective C》阅读笔记01 size_t是c计算个数时使用的某种不带正负号&#xff08;unsigned&#xff09;类型。它也是vector&#xff0c;deque和string内的operator[]函数接受的参数类型。分清楚声明式和定义式&#xff0c;对对象而言&#xff0c;定义式是编译器为此对象拨发内…

什么事情,都要去试一试啊

广州&#xff0c;下了一个月的雨&#xff0c;还在持续着超过一个月的阴天。 前段时间经历过一个心情的低谷。感觉自己真的变成了一个抑郁症患者&#xff0c;不想吃东西&#xff0c;不想做事情&#xff0c;对什么都提不起兴趣。那个时候的自己&#xff0c;可能受到各种外界的影…

【C++】标准IO库

本文章根据《C Primer》总结而来 IO类型在三个独立的头文件中定义&#xff1a; iostream定义读写控制窗口的类型fstream定义读写已命名文件的类型sstream定义读写存储在内存中的string对象 IO对象不可复制或赋值 1、只有支持复制的元素类型可以存储在vector或其他容器里&#…

【C++】关于const的使用

摘自《effective c》条款03 const可以修饰classes外部的global或namespace作用域中的常量、或文件、函数、或区块作用域&#xff08;block scope&#xff09;中被声明为static的对象。还可以修饰classes内部的static和non-static成员变量。 const对指针和迭代器的应用 面对指…

【JavaScript】类型、值和变量

JavaScript中非常重要的数据类型是对象和数组。JavaScript标识符必须以字母、下划线&#xff08;_&#xff09;或美元符&#xff08;$&#xff09;开始&#xff0c;后续字符可以是字母、数字、下划线或美元符。JavaScript变量是无类型的&#xff08;untyped&#xff09;&#x…

【JavaScript】表达式和运算符

表达式 原始表达式 原始表达式是表达式的最小单位&#xff0c;它们不再包含其他表达式。 数字直接量字符串直接量正则表达式直接量一些保留字变量 对象和数组的初始化表达式 对象和数组的初始化表达式实际上是一个新创建的对象和数组。 数组初始化表达式是通过一对方括号…

从一个例子分析gorilla/mux源码

最近终于闲下来,有时间阅读gorilla/mux。这个是我们在用Golang搭建Web服务器的时候经常用到的库,因此非常重要。这里是我阅读源码和参考了别人的博客之后得到一些总结。 使用的例子 我们从下面这个简单的代码开始追踪分析。 package mainimport ( "github.com/gorill…

原型设计 - 你好Axure

Axure Axure RP是美国Axure Software Solution公司旗舰产品&#xff0c;是一个专业的快速原型设计工具。学会使用Axure几乎是每个产品人的必备技能。 学习Axure之前&#xff0c;我们需要了解几个名词&#xff1a; 低保真原型&#xff1a;低保真原型一般是一个能简单交互的线…