2.c++常见的特色语法情况

1.const数据类型和constexpr的运用

       const定义的值不能被改变,在整个作用域中都保持固定,当然,可以通过函数以形参的形式输入函数。代码如下:

#include <iostream>
using namespace std;constexpr int fibonacci(const int n) {return n == 1 || n == 2 ? 1 : fibonacci(n - 1) + fibonacci(n - 2);
}int foo(int i) {return i;
}int mains() {const int n = 10;int num = 10;num += 1;  //1.num值可以修改//n+=1  //2.n值不可以修改,会报错cout<<fibonacci(n)<<endl;  //3.n可以以形参的形式在函数内参与计算// 4,5为数组的定义,数组的长度必须为常数int num1[fibonacci(n)+1];//4.这种传入正确//5.int num2[foo(2)];这种传入错误,程序会报错return 0;
}

2.vector数据类型

参考博客vector类型介绍-CSDN博客。

标准库:集合或动态数组,我们可以放若干对象放在里面。vector他能把其他对象装进来,也被称为容器.如

(1)vector<int> vjihe; // 表示这个集合对象保存的是int型数据;  // <int>:模板,vector本身就是个类模板,<int>实际上就是类模板的实例化过程。

(2)vector<student> vstudlist;// 存放学生类型的集合;

(3)vector<vector<string>> strchuan; // 相当于二维的字符串;

(4)vector<int *> vjihe2 // 不能向集合中装引用;

(5)vector<int &> vjihe3; // 引用知识一个别名,不是对象;

(6)vector<string> mystr; // 创建一个string类型的空的集合;

        //push_back()         

        mystr.push_back(“abc”);        

         mystr.push_back(“efg”);

(7)元素拷贝

        vector<string> mystr2(mystr); // 将mystr元素拷贝给mystr2vector<string> mystr3 = mystr; // 将mystr元素拷贝给mystr3

(8)用列表初始化方法给值,用{}括起来

        vector<string> mystr4 = {“aaa”,”bbb”,”ccc”};

(9)创建指定数量的元素

vector<int> ijihe(15,-200);// 创建15个int类型的元素,每个元素的值为-200
vector<string> sjihe(15,”hello”);// 创建15个int类型的元素,每个元素的值为hello
vector<int> ijihe2(15); // 15个元素,每一个元素值默认为0
vector<string> sjihe(15); // 15个元素,每一个元素值默认为空

  等等,代码如下:

#include <iostream>
#include <vector>
using namespace std;int main2() {vector<int> vec = { 1,2,3,4 };vec.push_back(1);//在vec后面添加一个元素int nums = vec.size();//返回vec元素的个数for (int i = 0; i < nums; i++) {cout << vec[i] << endl;//打印vec的元素}cout << 1 << endl;return 0;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/809789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL调优时需要注意的问题

MySQL调优是一个复杂且细致的过程&#xff0c;涉及到数据库设计、查询优化、系统配置、硬件资源等多个方面。 在进行MySQL调优时&#xff0c;需要注意以下问题及示例&#xff1a; 查询优化&#xff1a; 避免全表扫描&#xff1a; 示例&#xff1a;一个查询语句没有有效利用索引…

C#互联网区域医学检验中心云LIS系统源码

云LIS联通四级&#xff08;市、县、乡、村&#xff09;检验服务网构建互联网检验服务新体系落地检验资源区域共享建设。云LIS系统是一种基于云计算技术的区域实验室信息管理系统&#xff0c;它的主要功能是管理实验室中的各种信息数据&#xff0c;包括样品数据、检测结果、仪器…

Linux使用命令发送get或post请求

在linux服务器直接发送get或者post请求可以使用curl命令和wget命令。 curl命令&#xff1a; curl http://localhost:8080/应用/接口号 输入此命令之后会直接将响应结果展示到服务器上&#xff0c;如&#xff1a; 输入命令&#xff1a;curl -i curl -i http://localhost:…

认识JAVA语言(二)扩充

知识点1: 一维数组 一维数组是Java中最基础的数据结构。它可以存储一组固定数量的同类型元素&#xff0c;并且这些元素在内存中是连续存放的。 声明: 声明一个数组非常简单。你只需要指定数据类型与数组名称并用方括号包裹起来。声明仅仅创建了一个数组变量&#xff0c;而不是…

[C++/Linux] 网络I/O处理

引言&#xff1a;网络数据能够正常到达用户并且被接收是进行网络传输的根本目的&#xff0c;网络传输的数据发送和接收有多种方案&#xff0c;本文章就对通过向量接收和发送等数据传输方式&#xff0c;并且对多种I/O模型进详细分析介绍。 目录 一.I/O函数 1.1 recv和send rec…

RabbitMQ消息模型之Fanout消息模型

Fanout消息模型 * 广播模型&#xff1a;* 一个交换机绑定多个队列* 每个队列都有一个消费者* 每个消费者消费自己队列中的消息&#xff0c;每个队列的信息是一样的生产者 package com.example.demo02.mq.fanout;import com.example.demo02.mq.util.ConnectionUtils; impor…

神策sdk埋点

一&#xff0c;提出数据需求 首先要把数据需求提出来&#xff0c;先落地成一个标准的文档。数据需求是由业务或者产品去做&#xff0c;然后设计数据采集方案是基于我们的数据需求&#xff0c;首先要满足数据需求&#xff0c;其次在数据在设计完成之后要进行评审。/基于需求设计…

【docker】linux删除大于特定时间的备份文件

目录 shell 删除脚本命令解析 环境&#xff1a;linux容器&#xff1a;docker 前提&#xff1a; 继上次讲述如何备份线上数据库之后&#xff0c;我们来看如何删除多余的dump备份文件 参考&#xff1a;linux写shell脚本备份线上数据库&#xff08;备份为dump文件&#xff09; …

JavaScript之Object.defineProperty详解

Object.defineProperty 是 JavaScript 中用于定义或修改对象属性的方法之一。它允许我们精确地控制对象属性的特性&#xff0c;包括可枚举性、可写性、可配置性等。 1. 基本语法 Object.defineProperty(object, propertyName, descriptor); object&#xff1a;要在其上定义属性…

【PyQt5】环境配置

PyQt5 环境配置 一、前言1.1 PyQt5介绍1.2 PyCharm集成Pyqt5 二、pyqt5安装三、PyQt5-tools工具包安装四、常用工具环境配置4.1、环境变量配置4。2、验证是否安装成功 五、pycharm中设置Qt工具&#xff08;Qt Designer、PyUIC、PyRcc&#xff09;5.1、配置Qt Designer5.2、配置…

gitee上传出现git did not exit cleanly (exit code 1)的错误

在最后push的时候出现下面的结果&#xff1a; 出现这个错误的原因有好多种&#xff0c;目前介绍博主遇到的两种&#xff1a; 在第一次进行push操作的时候&#xff0c;需要输入用户名和密码&#xff0c;如果输入错误&#xff0c;则最后可能会出现上述报错 解决方法&#xff1a;…

centos7安装 on-my-zsh

如下&#x1f447; yum install -y zsh chsh -s /bin/zsh yum install -y git sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 重启即可生效啦~

Python爬虫怎么挣钱?6个Python爬虫赚钱方式,搞搞副业不是问题

1.最典型的就是找爬虫外包活儿 网络爬虫最通常的的挣钱方式通过外包网站&#xff0c;做中小规模的爬虫项目&#xff0c;向甲方提供数据抓取&#xff0c;数据结构化&#xff0c;数据清洗等服务。新入行的程序员大多都会先尝试这个方向&#xff0c;直接靠技术手段挣钱&#xff0…

Oladance、南卡、Cleer开放式耳机好不好用?深度测评剖析实力王!

​近期&#xff0c;不少朋友都在询问如何挑选适合自己的开放式耳机。面对市场上众多品牌的开放式耳机&#xff0c;它们在音质、舒适度和性能上都有所差异&#xff0c;挑选一款合适的耳机对于音乐爱好者来说尤为重要。购买到品质不达标的耳机可能会影响音乐体验&#xff0c;甚至…

Linux nfs 环境搭建

1.开发背景 nfs 即网络文件共享&#xff0c;主要通过 tcp、udp 等网络通讯的方式实现不同机器间的文件共享 2.开发需求 搭建 ubuntu 下的服务端&#xff0c;嵌入式开发板共享 ubuntu 的某个文件夹 3.开发环境 ubuntu20.04 嵌入式开发板 4.实现步骤 4.1 搭建 ubuntu 服务器…

sonar搭建(linux系统)

前景 静态代码扫描是CI/CD中重要的一环&#xff0c;可以在代码提交到代码仓库之后&#xff0c;在CI/CD流程中加入代码扫描步骤&#xff0c;从而及时地对代码进行质量的检查。这可以有效地降低后期维护成本&#xff0c;优化产品质量&#xff0c;提高产品交付速度。同时&#xf…

浅尝一下ECS(Entity Component System)(学习笔记)

参考文章&#xff1a;浅谈Unity ECS&#xff08;一&#xff09;Uniy ECS基础概念介绍&#xff1a;面向未来的ECS - 知乎 (zhihu.com) 视频链接&#xff1a;【青幻译制】GDC讲座系列之三 守望先锋的游戏架构和网络代码_哔哩哔哩_bilibili 云风的 BLOG: 浅谈《守望先锋》中的 E…

XSS攻击与MySQL注入漏洞攻击手法

一、XSS攻击 概念&#xff1a;XSS攻击也被称为 “跨站脚本攻击”&#xff0c;通过将恶意得Script代码注入到Web页面中&#xff0c;当 用户 浏览该页之时&#xff0c;嵌入其中Web里面的Script代码会被执行&#xff0c;从而达到恶意攻击 用户的目的。 攻击对象&#…

保证线程安全的10个小技巧分享

对于从事后端开发的同学来说&#xff0c;线程安全问题是我们每天都需要考虑的问题。 线程安全问题通俗的讲&#xff1a;主要是在多线程的环境下&#xff0c;不同线程同时读和写公共资源&#xff08;临界资源&#xff09;&#xff0c;导致的数据异常问题。 比如&#xff1a;变…

计算两个日期之间相差的天数的四种方法

计算两个日期之间相差的天数的四种方法 第一种&#xff1a;时间戳的方式&#xff0c;计算两个日期的时间戳的差&#xff0c;再除当天的毫秒数即可得到相差的天数。 public static void main(String[] args) {DateFormat dft new SimpleDateFormat("yyyy-MM-dd");t…