当前位置: 首页 > news >正文

做收集信息的网站/广告公司推广平台

做收集信息的网站,广告公司推广平台,怎么在网上卖东西赚差价,怎么做外国网站卖东西学习目标:C的一些高级操作 根据C菜鸟教程自学的笔记,大家有想学习C的话可以根据这个网站进行学习。这个推荐有一定基础的再去进行自学。新手的话还是建议直接看一些视频跟着学 学习内容: 1. 运算符重载 说到C中的运算符重载,首…

学习目标:C++的一些高级操作

根据C++菜鸟教程自学的笔记,大家有想学习C++的话可以根据这个网站进行学习。这个推荐有一定基础的再去进行自学。新手的话还是建议直接看一些视频跟着学


学习内容:

1. 运算符重载

说到C++中的运算符重载,首先要明确平时使用的加、减、乘、除、与、或、非、输入、输出、赋值、自增自减等这些运算符其实就是运算符重载的特殊情况。这些特殊情况只能对C++中的基础数据类型进行操作,如:“int”、“double”等。 而如果是用户自己定义的类型呢?比如自己定义的类的对象进行运算,想让这些自定义类型也进行加、减、乘、除这些操作,就只能进行运算符重载。

(1).重载运算符的定义

Box是声明的一个类:Box operator+(const Box& b){Box box;box.length = this->length + b.length;box.breadth = this->breadth + b.breadth;box.height = this->height + b.height;return box;}

2.文件读取和写入

定义数据类型:#include

写文件:
ofstream outfile;
outfile.open("file.dat", ios::out | ios::trunc );
关闭文件outfile.close();读文件
ifstream  afile;
afile.open("file.dat", ios::out | ios::in );
关闭文件infile.close();

3. 常量

const关键字的定义:
const int A = 1;
此时a为常量,是不可以修改的#define 预处理器
#define PI 3.1415926

宏定义的边际错误

#include <iostream>
using namespace std;#define cyy 10+1 int main()
{int area;const int a = 1;area = cyy * cyy;cout << area<<endl;///cout << cyy;//cyy的值为11return 0;
}

理想情况上面的代码输出的area值,应该为1111=121,但结果却为21
原因是宏定义的编辑效应产生的错误,代码将area = cyy
cyy看成了area = 10+1*10+1

在定义常量或宏定义时,应用大写字母表示常量,这是很好的编程方式

4. 变量的作用域

全局变量:所有函数和代码块之外声明的变量,可以被任何代码中的函数访问,程序开始时创建,程序		结束时销毁。局部变量:局部变量是在函数内部定义的量块变量:块变量是在if,while中定义的使用外部链接的函数或全局变量,使用extern函数
extern关键字,是在多个文件使用同一个变量时的声明方式
#include <iostream>
int a = 1;
void func()
{int a = 10;{int a = 20;  // 块作用域变量std::cout << "块变量: " << a << std::endl;}std::cout << "局部变量: " << a << std::endl;
}
int main() {func();std::cout << "全局变量: " << a << std::endl;return 0;
}输出结果:
块变量: 20
局部变量: 10
全局变量: 1

5.存储类的关键字

存储类主要的作用是在定义变量或函数的范围和生命周期。c++的程序中的存储类有:

(1)register

用于定义存储在寄存器而不是RAM中的变量,以便更快访问

(2)static

  1. 限制变量的作用域在当前文件中,该变量只能在定义他的文件中使用
  2. static声明完静态变量后,在程序的整个执行期间都会一直存在,即使超出的声明他的函数的作用域

(3) extern

用于声明其他文件中定义的全局变量,也就是在B文件中使用A文件声明的全局变量

6.字符串的使用

C++中,有很多用于操作字符串的函数,这里记录一下
在使用这些函数前,需声明一下:

#include <string>
函数作用
strcpy(s1,s2)复制字符串S2到S1中
strcat(s1,s2)将S2链接到S1的末尾
strlen(s1)返回字符串s1的长度
strcmp(s1,s2)判断字符串s1和s2是否相同,相同返回0,s1<s2返回值小于0,s1>s2返回值大于0
strchr(s1,ch)返回一个指针,指向ch第一次出现在字符串s1的位置
strstr(s1,s2)返回一个指针,指向字符串s1中,第一次出现字符串s2的位置

7. 引用

我在之前的学习引用的时候有一处一直搞不用,就是引用作为函数的参数,今天问了chatgpt一个问题后,豁然开朗

问题:void swap(int& x, int& y);和void swap(int x, int y)的区别

回答:

  1. 参数传递方式:第一个函数 void swap(int& x, int& y); 使用引用作为参数,而第二个函数 void swap(int x, int y); 使用值传递。
  2. 修改原变量:当调用 void swap(int& x, int& y); 函数时,函数内部可以直接修改传入的变量 x 和 y 的值。因为引用传递的是变量的地址,所以修改引用的值会影响到原变量。而当调用 void swap(int x, int y); 函数时,函数内部只能修改传入的副本变量 x 和 y 的值,不会影响原变量。
  3. 性能开销:使用引用传递可以避免对变量进行拷贝操作,提高代码的执行效率。而使用值传递需要进行值的拷贝,可能会产生较大的开销。

代码案例

  1. 函数使用引用
#include <iostream>
using namespace std;
int x = 10;
int y = 20;
void swap(int &x, int& y) {int temp = x;x = y;y = temp;
}
int main() {cout << "x:" << x << endl;cout << "y:" << y << endl;swap(x, y);cout << "new_x:" << x << endl;cout << "new_y:" << y << endl;
}
输出结果://x和y的值做了交换
x:10
y:20
new_x:20
new_y:10
  1. 函数不使用引用
#include <iostream>
using namespace std;
int x = 10;
int y = 20;
void swap(int x, int y) {int temp = x;x = y;y = temp;
}
int main() {cout << "x:" << x << endl;cout << "y:" << y << endl;swap(x, y);cout << "new_x:" << x << endl;cout << "new_y:" << y << endl;
}
输出结果://x和y的值没做交换
x:10
y:20
new_x:10
new_y:20

总结:也就是说,当你想值使用传入变量的值时,使用值传递即可。但是当你想要修改传入变量的值时,使用引用传递,同时如果传入的参数过大,避免拷贝占用内存,使用引用传递也是很好的。

8.结构

C++中用户可以自定义可用的数据类型,这个叫结构体。

定义结构,使用的是struct语句,其结构如下:

struct Books{
char title[50];
char author[50];
char subject[100];
int book_id;
} book;可以对结构体进行声明和赋值
Books Book1
strcpy(Book1.title,"C++教程");
Book1.bool_id = 1;

9.抽象类和纯虚函数

纯虚函数和抽象类之间是紧密关联的,抽象类是包含至少一个纯虚函数的类。纯虚函数没有具体的实现,只是提供了函数的接口。抽象类不能被实例化,只能用作其他类的基类来派生新的类。

抽象类是一种特殊的类,不能被实例化,实例化抽象类将会报错。
抽象类的定义:定义抽象类,需要抽象类中至少要有一个纯虚函数
纯虚函数的定义: 纯虚函数通过在函数末尾使用=0来定义 virtual void pureVirtualFunction() = 0;

一个纯虚函数的和抽象类的使用方法

class Base {
public:virtual void pureVirtualFunction() = 0; // 纯虚函数声明void normalFunction() {// 普通函数实现// ...}
};class Derived : public Base {
public:void pureVirtualFunction() override {// 派生类中重写纯虚函数,提供具体实现// ...}
};

10. 虚函数和纯虚函数的区别

虚函数纯虚函数
声明函数前要加virtual关键字使用virtual 和“=0”声明
派生类中是否需要重写随意必须重写

11. 命名空间

当你自定义的函数如zzy(),与另外一个函数库也有一个zzy()函数,编译器就无法判断你使用的时哪一个zzy()函数
引入命名空间专门为了解决这个问题

定义命名空间
命名空间是需要定义的,这个目前我没有设计到,但其实就时把对应的函数放到命名空间这个大括号中即可
namespace namespace_name{
void func(){
具体函数实现
}
}

命名空间的使用
using namespace std; 这个是最常见的命名空间
如果不使用这个命令的话,很对c++的内置函数使用时就需要用“std::函数”的形式来使用

12.模板

13.lambda函数

lambda函数是在C++ 11中新增的功能,广泛定义于需要定义短小的函数对象、算法和容器操作

lambda的定义

	[capture](parameters) -> return_type { body }auto sum = [](int a, int b) -> int {return a + b;};
capture 是一个可选的捕获列表,用于在lambda函数内部访问外部变量。parameters 是参数列表,用于传递给lambda函数的参数。return_type 是返回类型,指定lambda函数的返回值类型。body 是函数体,包含lambda函数的具体实现逻辑。

相关文章:

【番外篇】C++语法学习笔记

学习目标&#xff1a;C的一些高级操作 根据C菜鸟教程自学的笔记&#xff0c;大家有想学习C的话可以根据这个网站进行学习。这个推荐有一定基础的再去进行自学。新手的话还是建议直接看一些视频跟着学 学习内容&#xff1a; 1. 运算符重载 说到C中的运算符重载&#xff0c;首…...

js 字符串转数字

在 JavaScript 中&#xff0c;可以使用以下方法将字符串转换为数字&#xff1a; parseInt parseInt()&#xff1a;将字符串转换为整数。它会从字符串的开头开始解析&#xff0c;直到遇到非数字字符为止。如果第一个字符不能转换为数字&#xff0c;则返回 NaN。 let str &qu…...

【NI-DAQmx入门】外部采样时钟相关

1.时钟的作用 时钟在几乎所有测量系统中都起着至关重要的作用。通过硬件定时测量&#xff0c;时钟控制采样或更新的发生时间。与依赖软件计时测量相比&#xff0c;您可以选择硬件定时测量来实现采样或更新之间更一致的时间间隔。以数模转换器特性分析为例。该应用由三个基本部分…...

Amazon EC2 Hpc7g 实例现已在更多区域推出

即日起&#xff0c;Amazon Elastic Compute Cloud (Amazon EC2) Hpc7g 实例将在亚太地区&#xff08;东京&#xff09;、欧洲地区&#xff08;爱尔兰&#xff09;和 Amazon GovCloud&#xff08;美国西部&#xff09;区域推出。Amazon EC2 Hpc7g 实例由 Amazon Graviton 处理器…...

【开题报告】基于SpringBoot的药店药品管理系统的设计与实现

1.研究背景 随着人们对健康的日益关注和医疗技术的不断进步&#xff0c;药店在人们生活中的重要性越来越凸显。药店承担着提供药品和健康咨询等服务的角色&#xff0c;而药品管理是药店运营的核心内容之一。传统的药店药品管理往往依赖人工操作&#xff0c;存在着信息不透明、…...

Promise用法详解

文章目录 一、异步代码的困境1.异步任务的处理 二、认识Promise作用1.什么是Promise呢&#xff1f;2.Promise的代码结构 三、Promise状态变化1.Executor2.resolve不同值的区别3.then方法 – 接受两个参数4.then方法 – 多次调用5.then方法 – 返回值6.catch方法 – 多次调用7.c…...

7.spark sql编程

概述 spark 版本为 3.2.4&#xff0c;注意 RDD 转 DataFrame 的代码出现的问题及解决方案 本文目标如下&#xff1a; RDD ,Datasets,DataFrames 之间的区别入门 SparkSession创建 DataFramesDataFrame 操作编程方式运行 sql 查询创建 DatasetsDataFrames 与 RDDs 互相转换 使用…...

【2023】COMAP美赛数模中的大型语言模型LLM和生成式人工智能工具的使用

COMAP比赛中的大型语言模型和生成式人工智能工具的使用 写在最前面GitHub Copilot工具 说明局限性 团队指南引文和引用说明人工智能使用报告 英文原版 Use of Large Language Models and Generative AI Tools in COMAP ContestslimitationsGuidance for teamsCitation and Refe…...

数据结构-顺序表学习资料

什么是顺序表&#xff1f; 顺序表是一种线性数据结构&#xff0c;它按照元素在内存中的物理顺序存储数据。顺序表可以通过数组实现&#xff0c;也可以通过链表和动态数组实现。 顺序表的特点 元素连续存储&#xff1a;顺序表中的元素在内存中是连续存储的&#xff0c;这样可…...

微信小程序获取剪切板的内容到输入框中

xml代码 <navigation-bar title"Weixin" back"{{false}}" color"black" background"#FFF"></navigation-bar> <view><input placeholder"请输入内容" name"content" type"text" …...

【年底不想背锅!网络工程师必收藏的排障命令大全】

网络故障排除工具是每个网络工程师的必需品。 为了提升我们的工作效率&#xff0c; 不浪费时间&#xff0c;工具的重要性显而易见 特别是每当添加新的设备或网络发生变更时&#xff0c;新的问题就会出现&#xff0c;而且很难快速确定问题出在哪里。每一位网络工程师或从事网…...

Windows服务器用PowerShell script判断服务器启动时间并做reboot动作

脚本如下&#xff0c;Windows 2019环境 60*119 是119分钟 $x(Get-Date) - (gcim Win32_OperatingSystem).LastBootUpTime echo $x.TotalSeconds " seconds passed" if($x.TotalSeconds -gt 60*119) {Invoke-Expression -Command "msg.exe * /TIME:20 reboot i…...

【HTML】播放器如何自动播放【已解决】

自动播放器策略 先了解浏览器的自动播放器策略 始终允许静音自动播放在以下情况&#xff0c;带声音的自动播放才会被允许 2.1 用户已经与当前域进行交互 2.2 在桌面上&#xff0c;用户的媒体参与指数阈值(MEI)已被越过&#xff0c;这意味着用户以前播放带有声音的视频。 2.3 …...

Go Gin中间件

Gin是一个用Go语言编写的Web框架&#xff0c;它提供了一种简单的方式来创建HTTP路由和处理HTTP请求。中间件是Gin框架中的一个重要概念&#xff0c;它可以用来处理HTTP请求和响应&#xff0c;或者在处理请求之前和之后执行一些操作。 以下是关于Gin中间件开发的一些基本信息&am…...

财务数字化转型的切入点是什么?_光点科技

随着科技的不断进步&#xff0c;数字化转型已经成为各个行业追求的目标&#xff0c;财务领域也不例外。那么&#xff0c;财务数字化转型的切入点在哪里呢&#xff1f;如何确保转型的成功进行&#xff1f; 数据整合与管理 财务数据的准确性与及时性是财务管理的基石。数字化转型…...

Langchain知识点(上)

输出格式 Pydantic (JSON) 解析器 # 创建模型实例 from langchain import OpenAI model OpenAI(model_nametext-davinci-003)# ------Part 2 # 创建一个空的DataFrame用于存储结果 import pandas as pd df pd.DataFrame(columns["flower_type", "price"…...

Tomcat安装配置教程

目录 1、安装tomcat1.1、查看JDK版本1.2、 匹配对应的JDK版本1.3、 下载Tomcat1.3.1、 安装包版&#xff08;推荐&#xff0c;不用配环境&#xff09;1.3.2、 压缩包版 2、 运行Tomcat3、 不能运行问题 1、安装tomcat 1.1、查看JDK版本 由于不同版本tomcat对于jdk的版本有要求…...

Python小试牛刀:GUI(图形界面)实现计算器UI界面(三)

上一篇&#xff1a;Python小试牛刀&#xff1a;GUI&#xff08;图形界面&#xff09;实现计算器UI界面(二)-CSDN博客 回顾前两篇文章&#xff0c;第一篇文章主要实现了计算器UI界面如何布局&#xff0c;以及简单概述Python常用的GUI库。第二篇文章主要实现了计算器UI界面按钮组…...

王道计算机网络

一、计算机网络概述 (一)计算机网络基本概念 计算机网络的定义、组成与功能 定义&#xff1a;以能够相互共享资源的方式互连起来的自治计算机系统的集合。 目的&#xff1a;资源共享&#xff0c; 组成单元&#xff1a;自治、互不影响的计算机 网络协议 从不同角度计算机网络…...

【漏洞复现】IIS_7.o7.5解析漏洞

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证 1.5、修复建议 1.1、漏洞描述 漏洞原理&#xff1a; cgi.fix_path1 1.png/.php该…...

Java 高效生成按指定间隔连续递增的列表(int,double)

简介 Java 按照指定间隔生成连续递增的List 列表&#xff08;引入Stream 类和流操作来提高效率&#xff09;&#xff1a; 1. 生成递增的List< Integer> Testpublic void test009(){int start 1;int interval 2;int count 10;List<Integer> list IntStream.ite…...

C++ reference

cppreference.com 《现代C语言核心特性解析》 这是一本 C 进阶图书&#xff0c;全书分为 42 章&#xff0c;深入探讨了从 C11 到 C20 引入的核心特性。 本书不仅通过大量的实例代码讲解特性的概念和语法&#xff0c;还从编译器的角度分析特性的实现原理&#xff0c;让读者…...

关于网站安全的一些讨论

互联网的普及和发展为企业和个人提供了巨大的机会&#xff0c;但同时也伴随着网络安全威胁的增加。网站被攻击是一个常见的问题&#xff0c;可能导致数据泄露、服务中断和声誉受损。在本文中&#xff0c;我们将探讨与网络安全紧密相关的因素&#xff0c;分析为什么网站容易受到…...

unity 截图

unity 截图适用于各分辨率 float scr;void Start(){scr Screen.width /2160.00f;//2160是我做程序时的分辨率 Screen.width为打包后机器的分辨率}/// <summary>/// 区域截图/// </summary>/// <param name"rectT"></param>/// <param …...

浏览器无图模式省流量经验

【备注】本文适合于那些用自购上网卡&#xff08;非单位报销&#xff09;、流量费花的心痛、平日里抠抠搜搜的diaosi人群&#xff01;流量自由人群请关闭退出&#xff01; 近日图年包流量费便宜&#xff0c;从某东平台上买了一个号称新款usb上网卡&#xff0c;只用了2天时间&a…...

【Hive】分区表和分桶表相关知识点介绍

Hive中的分区表和分桶表是两种用于优化数据查询和管理的技术。它们可以提高查询性能、减少数据扫描量并提供更精细的数据组织方式。 分区表(Partitioned Table) Hive的分区表将数据按照一个或多个列的值进行逻辑分区。每个分区都是一个独立的子目录,其中包含符合该分区条件…...

CLIP Surgery论文阅读

CLIP Surgery for Better Explainability with Enhancement in Open-Vocabulary Tasks&#xff08;CVPR2023&#xff09; M norm ⁡ ( resize ⁡ ( reshape ⁡ ( F i ˉ ∥ F i ‾ ∥ 2 ⋅ ( F t ∥ F t ‾ ∥ 2 ) ⊤ ) ) ) M\operatorname{norm}\left(\operatorname{resize}\…...

Luancher和unityLibrary都有build.gradle有什么不同

在 Unity 项目中&#xff0c;通常会包含两个主要的 Module&#xff1a; Launcher Module: 这是 Android 项目的主要 Module&#xff0c;包含 UnityPlayerActivity&#xff0c;并负责启动 Unity 游戏。 unityLibrary Module: 这是 Unity 导出的 Android 工程&#xff0c;其中包…...

【Unity】2D角色跳跃控制器

最近加了学校的Nova独游社&#xff0c;本文是社团出的二面题&#xff0c;后续有时间优化下可能会做成一个二维冒险小游戏。本文主要涉及相关代码&#xff0c;参考教程&#xff1a;《勇士传说》横版动作类游戏开发教程 效果演示 【Unity】2D角色跳跃模拟器 主要实现功能&#xf…...

Gradle vs Maven

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置&#xff0c;抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala&#xff0c;计划未来将支持更多的…...