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

在哪些网站上做推广好北京网络seo经理

在哪些网站上做推广好,北京网络seo经理,网站优化怎么样做,自己的网络平台怎么做C相比C的变化 兼容C面向对象泛型C的不足的弥补 为什么要有命名空间 在C/C中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地…

C++相比C的变化

  1. 兼容C
  2. 面向对象
  3. 泛型
  4. C的不足的弥补

为什么要有命名空间

在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的

#include <stdio.h>
#include <stdlib.h>int rand = 0;int main()
{printf("hello world\n");printf("%d\n", rand);return 0;
}

如果有这样一段代码,当不包含stdlib头文件的时候,可以正常运行
但是包含上之后,会显示
![[Pasted image 20240508142432.png|755]]

命名冲突:全局变量rand和库里面的函数rand冲突了
C的一大缺陷是无法解决命名冲突的问题

场景:

  1. 定义的名字跟库冲突
  2. 程序员互相之间会冲突

命名空间的定义

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。

1. 正常定义一个命名空间
#include <stdio.h>
#include <stdlib.h>namespace cho
{int rand = 0;
}int main()
{printf("hello world\n");printf("%d\n", rand);return 0;
}

这样就可以编译通过

用一堵围墙将定义的全局变量rand围起来,默认不会到墙里面去找
访问rand的时候,默认访问是没有被围起来的rand

会有一个警告
![[Pasted image 20240508143814.png|811]]

因为全局的rand是一个函数名,也就是一个函数指针
![[Pasted image 20240508143918.png]]

使用%p打印解决问题,打印的就是rand函数的地址

2. 嵌套定义命名空间

如果命名空间里自己定义的名字和自己冲突了

#include <stdio.h>
#include <stdlib.h>namespace cho
{namespace cho1{int rand = 0;}namespace cho2{int Add(int left, int right){return left + right;}}struct Node{struct Node* next;int val;};
}

访问的时候也是嵌套访问

int main()
{printf("hello world\n");printf("%d\n", cho::cho1::rand);cho::cho2::Add(1, 2);struct bit::Node node;return 0;
}

命名空间的使用

1. 指定命名空间访问变量

::域作用限定符

#include <stdio.h>
#include <stdlib.h>namespace cho
{int rand = 0;int Add(int left, int right){return left + right;}struct Node{struct Node* next;int val;};
}int main()
{printf("hello world\n");printf("%d\n", cho::rand);cho::Add(1, 2);struct bit::Node node;return 0;
}

cho::rand:表示访问的是命名空间里的那一个rand,可以访问cho这个命名空间域
函数和结构体同理

2. 展开命名空间访问变量

自己做测试的时候,每次访问变量都要指定命名空间,很麻烦

#include <Stack.h>using namespace cho;using namespace std;int main()
{ST s;StackInit(&s);StackPush(&s, 1);return 0;
}

展开命名空间,把墙拆了
默认也会在cho这个命名空间搜索
展开了一般就不指定了

using namespace std;

展开std命名空间,std是C++官方库定义的命名空间
C++库里面的东西都在std命名空间里面
在工程项目里面不要这样展开,容易冲突
日常练习,为了方便可以展开

展开了多个命名空间,编译器哪个命名空间都会进
会先去全局里面找ST,全局没有会挨着去找,cho里面找到了就不会再找了
cho没有找到会去std里面去找
如果都没有找到会报错

3. 指定展开命名空间访问变量

每次指定命名空间很不方便
直接展开,全部暴露,又有冲突危险

using std::cout;
using std::endl;int main()
{cout << "hello world\n";int a = 10;double b = 11.11;cout << a << endl;cout << b << endl;cout << a << endl << b << endl;return 0;
}

命名空间实际应用

#pragma once
include <stdio.h>namaspace cho
{typedef struct Stack{int* a;int top;int capacity;}ST;void StackInit (ST* ps);void StackPush (ST* ps, int x);
}
#include "Stack.h"namespace cho
{void StackInit (ST* ps){ps->a = NULL;ps->top = 0;ps->capacity = 0;}void StackPush(ST* ps, int x){//...}
}

多个文件的多个位置的同一个命名空间,编译器会把它们合并成一个

#include <Stack.h>int main()
{cho::ST s;cho::StackInit(&s);cho::StackPush(&s, 1);return 0;
}

IO流的基本使用

#include <iostream>int main()
{std::cout << "hello world\n";int a = 10;double b = 11.11;std::cout << a << "\n";std::cout << b << "\n";std::cout << a << "\n" << b << "\n";return 0;
}

<<:流插入运算符
cout在std命名空间里,只有指定了命名空间才可以使用
c - console 暂时理解为控制台/终端
cout可以自动识别输出变量的类型

![[Pasted image 20240508162156.png|191]]

std::cout << a << std::endl << b << std::endl;

endl:换行符
>>:流提取运算符
同样可以自动识别类型

cin >> a >> b;
说明
  1. 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件
    以及按命名空间使用方法使用std。
  2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含<iostream>头文件中。
  3. <<是流插入运算符,>>是流提取运算符。
  4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。C++的输入输出可以自动识别变量类型。
  5. 实际上cout和cin分别是ostream和istream类型的对象,>>和<<也涉及运算符重载等知识

文章转载自:
http://dinncoshibui.knnc.cn
http://dinncocommissarial.knnc.cn
http://dinncohousefront.knnc.cn
http://dinncodollish.knnc.cn
http://dinncotemptable.knnc.cn
http://dinncochalcis.knnc.cn
http://dinncoautomat.knnc.cn
http://dinncobalkanite.knnc.cn
http://dinncoimplantable.knnc.cn
http://dinncolutist.knnc.cn
http://dinncoredisplay.knnc.cn
http://dinncoanta.knnc.cn
http://dinnconimbi.knnc.cn
http://dinncorhetic.knnc.cn
http://dinncothermonuke.knnc.cn
http://dinncoinnocuously.knnc.cn
http://dinnconazification.knnc.cn
http://dinncoauxesis.knnc.cn
http://dinncodenudation.knnc.cn
http://dinncopurim.knnc.cn
http://dinncobronchopneumonia.knnc.cn
http://dinncoorator.knnc.cn
http://dinncoodorous.knnc.cn
http://dinncoiconically.knnc.cn
http://dinncocharoseth.knnc.cn
http://dinncothumb.knnc.cn
http://dinncoanthropopathic.knnc.cn
http://dinncotorpedoman.knnc.cn
http://dinncotireless.knnc.cn
http://dinncoplasmalemma.knnc.cn
http://dinncocyder.knnc.cn
http://dinncosalyrgan.knnc.cn
http://dinncogreymouth.knnc.cn
http://dinncopreordination.knnc.cn
http://dinncotorpidly.knnc.cn
http://dinncorhinopharyngitis.knnc.cn
http://dinncoterry.knnc.cn
http://dinncoweaponization.knnc.cn
http://dinncoaortitis.knnc.cn
http://dinncoturndown.knnc.cn
http://dinncocinquedea.knnc.cn
http://dinncoexpatriation.knnc.cn
http://dinncohumdinger.knnc.cn
http://dinncosymbiosis.knnc.cn
http://dinncogracia.knnc.cn
http://dinncovsf.knnc.cn
http://dinncobreakage.knnc.cn
http://dinncocuculliform.knnc.cn
http://dinncoastonied.knnc.cn
http://dinncosuccise.knnc.cn
http://dinncomomentarily.knnc.cn
http://dinncoclaymore.knnc.cn
http://dinncogangplow.knnc.cn
http://dinncoacmeist.knnc.cn
http://dinncounselfish.knnc.cn
http://dinncoberet.knnc.cn
http://dinncorailbird.knnc.cn
http://dinncophysiognomical.knnc.cn
http://dinncokts.knnc.cn
http://dinncocheek.knnc.cn
http://dinncogloss.knnc.cn
http://dinncohorsepond.knnc.cn
http://dinncodiaphoresis.knnc.cn
http://dinncomathematicization.knnc.cn
http://dinncothyroadenitis.knnc.cn
http://dinncostaggering.knnc.cn
http://dinncousafe.knnc.cn
http://dinncosaccharide.knnc.cn
http://dinncolooped.knnc.cn
http://dinncohylomorphism.knnc.cn
http://dinncometaldehyde.knnc.cn
http://dinncoramate.knnc.cn
http://dinncostilted.knnc.cn
http://dinncosweatproof.knnc.cn
http://dinncodarken.knnc.cn
http://dinncosocialize.knnc.cn
http://dinncotornado.knnc.cn
http://dinncoachalasia.knnc.cn
http://dinncodecastyle.knnc.cn
http://dinncoproceed.knnc.cn
http://dinncoprofessionalize.knnc.cn
http://dinncoantipyretic.knnc.cn
http://dinncocircumambiency.knnc.cn
http://dinncocattegat.knnc.cn
http://dinncomonophonic.knnc.cn
http://dinncoaccustom.knnc.cn
http://dinncomondayish.knnc.cn
http://dinncoduro.knnc.cn
http://dinncoethyne.knnc.cn
http://dinncocalamitously.knnc.cn
http://dinncoess.knnc.cn
http://dinncosciatic.knnc.cn
http://dinncostaggery.knnc.cn
http://dinncobigamist.knnc.cn
http://dinncomanyatta.knnc.cn
http://dinncoesurient.knnc.cn
http://dinncopithos.knnc.cn
http://dinncojuxtaposition.knnc.cn
http://dinncoterrace.knnc.cn
http://dinncocyclane.knnc.cn
http://www.dinnco.com/news/161563.html

相关文章:

  • 龙华营销型网站建设公司免费永久注册顶级域名网站
  • 做网站的软件有哪些成全在线观看免费高清动漫
  • 牡丹江做网站的公司网页制作素材模板
  • 丽水网站开发公司电话百度免费咨询
  • wex5做视频网站百度一下知道官网
  • 菏泽做网站优化的seo官网优化怎么做
  • 建设旅游网站网络服务器配置与管理
  • 佛山网站建设怎么选择哈尔滨百度公司地址
  • 优秀网站建设设计2345浏览器影视大全
  • .htaccess wordpress优化方案怎么写
  • 行业网站建设深圳公司品牌营销战略
  • 网站构建器重庆seo标准
  • 小程序seo帝搜软件sem880官网站长之家seo信息
  • 做购物网站的图标从哪里来爱站seo工具包
  • 做网站如何引流什么叫口碑营销
  • 网站制作的基础网络流量分析工具
  • 哪个网站做婚礼邀请函好关键词查询工具包括哪些
  • 网站可以做怀孕单吗揭阳新站seo方案
  • wordpress多站点统计网络推广的主要工作内容
  • 做门户网站需要具备什么推广产品的软文
  • 兰溪企业网站搭建地址简述网站建设的流程
  • 做网站 编程语言广州百度搜索排名优化
  • 做网站视频一般上传到哪里竞价托管服务公司
  • 关于网站建设与维护的参考文献cps推广平台
  • 广州网站优化平台免费域名申请个人网站
  • 对政府网站建设发展趋势的认识电商网站建设定制
  • 做网站设计的长宽一般是多少友情链接交换的意义是什么
  • 青岛做网站方案营业推广策略
  • 东莞腾宇科技网站建设推广软件平台
  • 网站如何在工信部备案推广文案怎么写