苏州新区网站制作公司/东莞网络推广招聘

苏州新区网站制作公司,东莞网络推广招聘,网站开发需求,卖狗人怎么做网站1.从C到C 语言的区别 C语言 编译性语言 面向过程语言灵活 移植性好 效率高shell 解释性语言 面向过程语言Linux运维C 编译性语言 面向对象面向对象语言效率最高的 应用领域:系统开发(APP开发,服务器开发),引擎开发,游戏开发&…

1.从C到C++

语言的区别

C语言

编译性语言
面向过程语言灵活
移植性好
效率高

shell

解释性语言
面向过程语言Linux运维

C++

编译性语言
面向对象面向对象语言效率最高的
应用领域:系统开发(APP开发,服务器开发),引擎开发,游戏开发,嵌入式开发,GUI界面开发。

python

解释性语言
面向对象人工智能,绝大部分都是python开发的
应用领域:系统开发(APP开发,服务器开发),游戏开发,运维,爬虫,大数据,GUI界面开发,人工智能

面向过程

把需求/问题,拆解成一个个步骤

程序=数据结构+算法

面向对象

将需求/问题,抽象成多个对象

程序=对象+对象间的通信机制

2.C++与C的差异

编译一个C++程序

C++的文件后缀

有很多:.C,.cc, .cpp, .c++, …

推荐使用:.cpp

原因:通用。各种操作系统,各种IDE软件都是识别。

编译

Linux:g++

注意:理论上C语言用gcc,C++用g++。

windows:MinGW

IDE

QT

Vscode

Dev-c++

。。。

2.1更加严格的语法检查

1.更加严格的类型检查

char a = 'A';
int *q = &a;char *p = malloc(1);c++会直接报错

2.更加严格的函数形式

1.返回值如果函数不是void,那么需要返回值,否则报警告
2.形参如果没写,默认是void。不能传实参,否则报错

3.不允许同名的全局变量

int a;
int a;C++会直接报错

4.可以对寄存器类型取地址

只要编译器发现你有这个操作,register变成auto

5.新增布尔(bool)类型

true--1
false--0

2.2const

C:

​ 对于C语言来说,const只修饰变量名

C++:

​ 有点类似于#define,在预处理的阶段进行替换

​ 1.绝对的常量,不能直接修改

​ 2.必须初始化

​ 3.可以间接修改,volatile(易变的)

volatile const int var = 10;	// 必须定义在其他文件
在本文件中,extern引入

和宏常量的区别:

​ 1.宏的边缘效应

​ 2.错误检查

​ 推荐各位,使用const而不是宏常量

定义及初始化

左值引用–引用普通的变量

<存储类型> <数据类型> &引用名;int a = 10;
int &r = a;

右值引用–引用临时变量

int &&r;
移动构造。

使用

和普通变量名一样使用
r+=10;

特点

1.必须初始化,没有空引用。(空引用相当于是野指针)

2.引用在初始化后,不能引用其他空间。(只会修改内容)

3.一个变量可以被多次引用。(一个人,可以有很多外号)

4.不能直接引用地址类型(破坏了引用的使用规则)

 int * (&qqq) = p;*qqq = 777;给一个指针取别名

引用和函数

作为参数
相当于地址传递,获取的是实参的空间
和变量名一样使用
作为返回值

1.可以作为左值

fun_referance() = 99;
r = 99;
修改引用的内容

2.如果返回局部变量,需要加static。

2.5函数高级

内联函数

也叫做内嵌函数

是什么?

就是一个函数
在计算机编译阶段,将函数的代码拷贝到函数的调用处

有什么用?

以空间换时间
定义
inline void fun()
{}
特点

优势:减少函数的跳转,效率更高

劣势:代码量更大


0.相当于对编译器的一个建议

1.代码量很小(一般是5条语句以下)

2.频繁使用

3.声明和定义必须写在同一个文件里面(计算机需要在编译时,知道代码长什么样)

可以看汇编代码,来验证内联函数
和宏函数的区别
1、宏函数在预处理阶段,进行替换。内联函数在编译时进行替换。
2、内联函数本质上还是函数,编译器会检查语法错误

默认参数

函数的形参,可以有默认的值

函数不传实参,那么就使用默认值
函数传了实参,实参会覆盖默认值
特点

1.必须从后往前写默认参数

2.当函数有默认参数时,声明和定义需要写到一起。

3.引用类型不能有默认的值,可以有默认的变量

$$$函数重载overload

概念
函数名相同,但是功能/内容不同
特点

1.函数名

2.参数必须不一样(类型,数量)

3.处在同一个名字空间下面

思考

1.函数重载和默认参数
2.形参是引用类型,可不可以区分?
3.计算机在什么时候,知道该调用哪个函数的。在什么时候确定?
编译时确定。

3.内存模型和名字空间

作用域

概念

描述了一个名字在文件(编译单元)的多大范围内可见。

局部域

模块
函数

类域

不同的类,是单独的作用域

名字空间域

不同的名字空间,是单独的作用域

链接性

概念

描述了名称如何在各个单元中的共享

空链接

只在模块内可用

内部链接

本文件中使用

外部链接

可以在其他文件中使用

语言链接性

C++的程序,可以使用C的函数

存储性

自动:auto

静态:static

动态:malloc,new

new和delete

为什么不直接用malloc和free?

如果用malloc开辟对象空间,不会调用构造函数

new

用法

1.开辟一个元素的空间
int *p = new int;2.开辟一个数组的空间
int *arr = new int[5];3.开辟一个对象的空间
类 *p = new 类名;

初始化

int *p = new int(99);int *arr = new int[5]{123};Studen *zs = new Student(90, 'f', 18);

delete

1.回收单个元素
delete p;2.回收数组空间
delete []arr;计算机会记录每个内存块的大小和状态信息

名字空间

概念

一种作用域

作用

解决代码里面,标识符重名的问题

定义

namespace 标识符(名字)
{任何内容变量函数对象
}

使用

1.单独使用
名字空间::内容
::,表示作用域限定符作用域::内容2.整个程序使用	
using namespace 名字;
直接使用内容

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

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

相关文章

Jenkins 部署 之 Mac 一

Jenkins 部署 之 Mac 一 一.Jenkins 部署依赖 JDK 环境 查看 Mac JDK 环境&#xff0c;如果没有安装&#xff0c;先安装 打开终端输入命令:java -version Mac安装配置 JDK 二. 检查 HomeBrew 安装 检查 HomeBrew 是否安装&#xff0c;终端输入命令:brew -v Mac安装HomeB…

鸿蒙HarmonyOS NEXT开发:优化用户界面性能——组件复用(@Reusable装饰器)

文章目录 一、概述二、原理介绍三、使用规则四、复用类型详解1、标准型2、有限变化型2.1、类型1和类型2布局不同&#xff0c;业务逻辑不同2.2、类型1和类型2布局不同&#xff0c;但是很多业务逻辑公用 3、组合型4、全局型5、嵌套型 一、概述 组件复用是优化用户界面性能&#…

【AI大模型】Ollama部署本地大模型DeepSeek-R1,交互界面Open-WebUI,RagFlow构建私有知识库

文章目录 DeepSeek介绍公司背景核心技术产品与服务应用场景优势与特点访问与体验各个DeepSeek-R系列模型的硬件需求和适用场景 Ollama主要特点优势应用场景安装和使用配置环境变量总结 安装open-webui下载和安装docker desktop配置镜像源安装open-webui运行和使用 RagFlow介绍主…

更加通用的Hexo多端部署原理及实现,适用于各种系统之间

本文推荐在作者的个人博客网站阅读&#xff1a;shenying.online 一、故事背景 故事发生在大学上学期间&#xff08;而不是寒假&#xff09;。上学期间&#xff0c;宿舍条件极其恶劣&#xff0c;半夜断电、空间狭小。我们大学垃圾条件使用游戏本的种种弊端被无限放大&#xff1…

开源、免费项目管理工具比较:2025最新整理30款

好用的开源、免费版项目管理系统有&#xff1a;1.Redmine&#xff1b;2. Taiga&#xff1b;3. OpenProject&#xff1b; 4.ProjectLibre&#xff1b; 5.GanttProject&#xff1b; 6.Tuleap&#xff1b; 7.Trac&#xff1b;8. Phabricator&#xff1b; 9.Notion&#xff1b; 10.…

组织结构改革:激活企业活力的 “源头活水”

难以适应市场变化、内部沟通与协作不畅、决策效率低下、运营成本增加、人才流失严重、员工士气下降、战略目标难以实现……企业如何根据市场环境变化和自身发展需求&#xff0c;灵活调整组织框架&#xff0c;赋能企业的持续健康发展&#xff1f; 某国有投资建设集团旗下的二级…

Mac之JDK安装

Mac之JDK安装 一.安装 jdk 打开终端输入命令:java -version 查看是否已安装 JDK Oracle 官方下载地址 根据自己Mac 系统安装 查看 Mac 系统&#xff0c;打开中断命令&#xff0c;输入: uname -a Compressed Archive 是压缩文档&#xff0c;下载的是一个 .tar.gz 压缩包 D…

【含文档+PPT+源码】基于Python的全国景区数据分析以及可视化实现

项目介绍 本课程演示的是一款基于Python的全国景区数据分析以及可视化实现&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 带你从零开始部署运行本套系统 该…

SQL注入之布尔和时间盲注,sqli-labs

实验环境&#xff1a; sqli-labs&#xff0c;小皮面板搭建&#xff0c;edge浏览器 apache&#xff1a;2.4.39&#xff0c;MySQL&#xff1a;5.7 PHP&#xff1a;5.39 Python&#xff08;pycharm2023&#xff09;:3 less-8 布尔盲注&#xff1a; 1.我这里是采用最简单的直接采…

基于SSM的农产品供销小程序+LW示例参考

1.项目介绍 系统角色&#xff1a;管理员、农户功能模块&#xff1a;用户管理、农户管理、产品分类管理、农产品管理、咨询管理、订单管理、收藏管理、购物车、充值、下单等技术选型&#xff1a;SSM&#xff0c;Vue&#xff08;后端管理web&#xff09;&#xff0c;uniapp等测试…

前端可以不用依赖后端实现导出大数据了

theme: channing-cyan hightlight: channing-cyan 前言 在我们公司表格数据导出都是前端去处理。一开始数据量不大&#xff0c;倒没什么问题。但随着数据量的加大&#xff0c;问题也逐渐暴露出来。 一天的数据量有一来万条&#xff0c;导出一定时间范围的数据&#xff0c;30…

游戏引擎学习第99天

仓库:https://gitee.com/mrxiao_com/2d_game_2 黑板&#xff1a;制作一些光场(Light Field) 当前的目标是为游戏添加光照系统&#xff0c;并已完成了法线映射&#xff08;normal maps&#xff09;的管道&#xff0c;但还没有创建可以供这些正常映射采样的光场。为了继续推进&…

通过 Docker 安装和部署 KeyDB v6.3.4 的详细步骤

KeyDB 是一种高性能的开源内存数据库&#xff0c;最初是基于 Redis 项目开发的&#xff0c;但在性能、特性和功能上进行了许多增强和改进。它兼容 Redis 的大部分命令和数据结构&#xff0c;因此可以作为 Redis 的替代品使用&#xff0c;尤其是在需要更高性能和多线程支持的场景…

Android Studio 打包App问题

一、场景 windows 电脑C 盘空间越来越少&#xff0c;所有软件默认位置都往C盘用户目录写入数据&#xff0c;于是开始准备整理&#xff0c;Android Studio 相关的 .android 和 .gradle 目录成为了目标。 二、问题出现 1、将C盘的.gradle 目录拷贝到D盘&#xff0c;文件比较大&a…

鸿蒙HarmonyOS NEXT开发:横竖屏切换开发实践

文章目录 一、概述二、窗口旋转说明1、配置module.json5的orientation字段2、调用窗口的setPreferredOrientation方法 四、性能优化1、使用自定义组件冻结2、对图片使用autoResize3、排查一些耗时操作 四、常见场景示例1、视频类应用横竖屏开发2、游戏类应用横屏开发 五、其他常…

linux安装jdk 许可证确认 user did not accept the oracle-license-v1-1 license

一定要接受许可证&#xff0c;不然会出现 一、添加 ppa第三方软件源 sudo add-apt-repository ppa:ts.sch.gr/ppa二、更新系统软件包列表 sudo apt-get update三、接受许可证 echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selection…

DeepSeek 助力 Vue 开发:打造丝滑的进度条

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

2025年SEO自动优化工具

随着2025年互联网的快速发展&#xff0c;越来越多的企业和个人意识到&#xff0c;拥有一个排名靠前的网站对于吸引客户、增加流量、提高转化率至关重要。而要想让自己的网站脱颖而出&#xff0c;获得更多曝光&#xff0c;最重要的一项工作就是进行SEO优化。传统的SEO优化方式通…

华硕笔记本怎么一键恢复出厂系统_华硕笔记本一键恢复出厂系统教程

华硕笔记本怎么一键恢复出厂系统&#xff1f; 华硕一键恢复出厂系统是一个安全、高效、方便的恢复方式&#xff0c;让您轻松还原出厂设置&#xff0c;以获得更好的系统性能。如果您的华硕电脑遇到问题&#xff0c;可以使用华硕一键恢复出厂系统功能。下面小编就教大家华硕笔记本…

Unity 编辑器热更C# FastScriptReload

工具源码&#xff1a;https://github.com/handzlikchris/FastScriptReload 介绍 用于运行时修改C#后能快速重新编译C#并生效&#xff0c;避免每次改C#&#xff0c;unity全部代码重新编译&#xff0c;耗时旧且需要重启游戏。 使用 需要手动调整AssetPipeline自动刷新模式&…