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

用asp做的网站有多少电子商务网站建设与维护

用asp做的网站有多少,电子商务网站建设与维护,网站建设技术包括哪些,wordpress权限管理一. C发展历史 C的起源可以追溯到1979年,当时Bjarne Stroustrup(本贾尼斯特劳斯特卢普,这个翻译的名字不同的地方可能有差异)在贝尔实验室从事计算机科学和软件工程的研究工作。面对项目中复杂的软件开发任务,特别是模拟和操作系统的开发工作…

一. C++发展历史

C++的起源可以追溯到1979年,当时Bjarne Stroustrup(本贾尼·斯特劳斯特卢普,这个翻译的名字不同的地方可能有差异)在贝尔实验室从事计算机科学和软件工程的研究工作。面对项目中复杂的软件开发任务,特别是模拟和操作系统的开发工作,他感受到了现有语言(如C语言)在表达能力、可维护性和可扩展性方面的不足。
1983年,Bjarne Stroustrup在C语言的基础上添加了面向对象编程的特性,设计出了C++语言的雏形,此时的C++已经有了 类、封装、继承等核心概念,为后来的面向对象编程奠定了基础。这一年该语言被正式命名为C++。
在随后的几年中,C++在学术界和工业界的应用逐渐增多。⼀些大学和研究所开始将C++作为教学和研究的首选语言,而一些公司也开始在产品开发中尝试使用C++。这一时期,C++的标准库和模板等特性也得到了进一步的完善和发展。
C++的标准化工作于1989年开始,并成立了⼀个ANSI和ISO(International Standards Organization)国际标准化组织的联合标准化委员会。1994年标准化委员会提出了第一个标准化草案。在该草案中,委员会在保持斯特劳斯特卢普最初定义的所有特征的同时,还增加了部分新特征。在完成C++标准化的第一个草案后不久,STL(Standard Template Library)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。在通过了标准化第⼀个草案之后,联合标准化委员会投票并通过了将STL包含到C++标准中的提议。STL对C++的扩展超出C++的最初定义范围。虽然在标准中增加STL是个很重要的决定,但也因此延缓了C++标准化的进程。1997年11月14日,联合标准化委员会通过了该标准的最终草案。1998年,C++的ANSI/IS0标准被投入使用。
C++参考文档: https://legacy.cplusplus.com/reference/
https://zh.cppreference.com/w/cpp
https://en.cppreference.com/w/
说明:第一个链接不是C++官方文档,标准也只更新到C++11,但是以头文件形式呈现,内容比较易看好懂。后两个链接分别是C++官方文档的中文版和英文版,信息很全,更新到了最新的C++标准,但是相比第一个不那么易看;几个文档各有优势,我们结合着使用。

二. C++语法的初步认识 

2.1 C++的第一个程序

C++的语言是兼容C语言的,我们在C语言中写的hello world在C++中也是可行的,但是正确的应该是C++中需要把定义文件代码后缀改为.cpp,vs编译器看到是.cpp就会调用C++编译器编译。

// test.cpp
// 这⾥的std cout等我们都看不懂,没关系,下⾯我们会依次讲解
#include<iostream>
using namespace std;
int main()
{cout << "hello world\n" << endl;return 0;
}

2.2 命名空间

(1)namespace的价值

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

(2)namespace的定义

1.上面使用C语言出现了重命名的问题,但是我们可以在C++中使用namespace关键字来处理这个问题。

• 定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即    可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。
• namespace本质是定义出一个域,这个域跟全局域各自独立,不同的域可以定义同名变      量,所以下面的rand不在冲突了。
• C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找一个变      量/函数/类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。局部域和全      局域除了会影响编译查找逻辑,还会影响变量的生命周期,命名空间域和类域不影响变量生命周期。
•namespace只能定义在全局,当然他还可以嵌套定义。
•项目工程中多文件中定义的同名namespace会认为是一个namespace,不会冲突。
• C++标准库都放在一个叫std(standard)的命名空间中。
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
namespace zda
{// 命名空间中可以定义变量/函数/类型int rand = 10;int Add(int left, int right){return left + right;}struct Node{struct Node* next;int val;};
}
int main()
{// 这⾥默认是访问的是全局的rand函数指针printf("%p\n", rand);// 这⾥指定bit命名空间中的randprintf("%d\n", zda::rand);return 0;
}

 2.然后对于我们的namespace关键字还可以嵌套使用,我也通过代码的形式给大家展示出来:

namespace zda
{namespace zda1{int a = 10;int Add(int b, int c){return b + c;}}namespace zda2{int a = 20;int Add(int b, int c){return b + c;}}
}
int main()
{printf("%d\n", zda::zda1::a);//zda1printf("%d\n", zda::zda2::a);//zda2printf("%d\n", zda::zda1::Add(1, 2));//zda1printf("%d\n", zda::zda1::Add(3, 2));//zda2return 0;
}

上面的代码我们可以清楚的看到我们定义了一个名为zda的域,同时又在这个域中又嵌套了zda1和zda2,同时我们在zda1和zda2中的变量名称也是一样的,但是我们最终在调用的时候结果是不一样的,所以namespace中是可以嵌套的,并且是互不影响的,我们调用哪个,哪个就会被我们使用,::是域的作用限定符。

3.下面一个点就是在多个项目文件中定义的同名namespace时,编译器也会认为是一namespace不会产生冲突。并且当main函数在调用的时候,如果namespace没有赋予main函数权限的话,那么main函数就不会调用namespace里面的数据等。

(3)命名空间的使用

编译查找一个变量的声明/定义时,默认只会在局部或者全局查找,不会到命名空间里面去查找。所以下面程序会编译报错。所以我们要使用命名空间中定义的变量/函数,有三种方式:
• 指定命名空间访问,项目中推荐这种方式。
• using将命名空间中某个成员展开,项目中经常访问的不存在冲突的成员推荐这种方式。
• 展开命名空间中全部成员,项目不推荐,冲突风险很大,日常小练习程序为了方便推荐使用。

 

namespace zda
{int a = 0;int b = 1;
}
// 指定命名空间访问
int main()
{printf("%d\n", zda::a);return 0;
}// using将命名空间中某个成员展开
using zda::b;
int main()
{printf("%d\n", zda::a);printf("%d\n", b);return 0;
}// 展开命名空间中全部成员
using namespace zda;
int main()
{printf("%d\n", a);printf("%d\n", b);return 0;
}

上面的大妈分别是指定命名空间,我们在调用的时候使用::域作用限定符,就不会出现编译报错;看第二种情况,如果说在一个域中我们后面要经常使用,那么可使用using将命名空间某个成员展开,这样我们在后续的使用中就不用每次通过命名空间来调用;第三种情况就是,展开命名空间的全部成员,但是通常我们不建议大家这样做的,因为冲突的风险会很大。

2.3 C++的输入和输出

• <iostream> 是 Input Output Stream 的缩写,是标准的输入、输出流库,定义了标准的输入、输出对象。
std::cin 是 istream 类的对象,它主要面向窄字符(narrow characters (of type char))的标准输入流。
std::cout 是 ostream 类的对象,它主要面向窄字符的标准输出流。
std::endl 是一个函数,流插入输出时,相当于插入一个换行字符加刷新缓冲区。
<<是流插入运算符, >>是流提取运算符。(C语言还用这两个运算符做位运算左移/右移)
• 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要守动指定格式,C++的输入输出可以自动识别变量类型(本质是通过函数重载实现的,这个以后会讲到),其实最重要的是 C++的流能更好的支持自定义类型对象的输入输出。
• IO流涉及类和对象,运算符重载、继承等很多面向对象的知识,这些知识我们还没有讲解,所以这里我们只能简单认识一下C++ IO流的用法,后面我们会有专门的一个章节来细节IO流库。
• cout/cin/endl等都属于C++标准库,C++标准库都放在一个叫std(standard)的命名空间中,所以要通过命名空间的使用方式去用他们。
• 一般日常练习中我们可以using namespace std,实际项目开发中不建议using namespace std。
• 这里我们没有包含<stdio.h>,也可以使用printf和scanf,在包含<iostream>间接包含了。vs系列编译器是这样的,其他编译器可能会报错。
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
int main()
{int a = 0;double b = 0.1;char c = 'x';cout << a << " " << b << " " << c << endl;std::cout << a << " " << b << " " << c << std::endl;scanf("%d%lf", &a, &b);printf("%d %lf\n", a, b);// 可以⾃动识别变量的类型cin >> a;cin >> b >> c;cout << a << endl;cout << b << " " << c << endl;return 0;
}

 

 

 

 

 

 

http://www.dtcms.com/wzjs/28943.html

相关文章:

  • php网站开发源代码今天中国新闻
  • 夜间正能量网站入口免费下载全文搜索引擎有哪些
  • 江门网红打卡景点蓬江区网络seo优化
  • 建站后角度是不是0怎么做一个自己的网页
  • 怎样做软件网站线上营销手段有哪些
  • 网站开发后期维护关键词搜索优化外包
  • 网站怎么做效果更好免费广州seo
  • 网站后台添加内容网页不显示网络营销发展现状与趋势
  • wordpress采集视频教程seo新闻
  • 衡阳网站建设2022年最好用的搜索引擎
  • 变白网站制作源码搜索引擎优化是指什么意思
  • 推广型网站建设电话深圳门户网站
  • 有哪些做兼职的设计网站有哪些工作技能培训
  • java购物网站开发流程单页关键词优化费用
  • 网站编辑做啥都电商培训机构排名前十
  • 石家庄市城乡建设学校网站百度网络推广怎么收费
  • 兼职做网站 深圳网站开发技术
  • 做养生网站怎么样灰色词排名上首页
  • 做网站应该用什么配置的电脑百度推广销售
  • 树莓派做网站服务器性能怎么样宣传网站站点最有效的方式是
  • 西安城乡建设委员会的网站关键词三年级
  • 自媒体时代做网站有前途吗推广营销软件
  • 做网站 广告费 步骤百度广告价格
  • 商洛市城乡建设规划局网站上海百度推广
  • 怎么做网站dreamwave网站推广方案范例
  • 免抵退税在哪个网站做网站更新seo
  • 做海报设计的网站青岛网站设计
  • 做网站开发的公司今日新闻快讯10条
  • 厦门制作网页公司seo教程优化
  • wordpress网站好用吗seo技术培训学校