C++高级编程(8)
八、标准IO库
1.输入输出流类
1)非格式化输入输出
2)put
#include <iostream>
#include <string>
using namespace std;
int main()
{string str = "123456789";for (int i = str.length() - 1; i >= 0; i--) {cout.put(str[i]); //从最后一个字符开始输出}cout.put('\n');return 0;
}
3)write
#include <iostream>
using namespace std;
int main()
{const char * str = "www.cplusplus.com";cout.write(str, 4);return 0;
}
4)格式化输入/输出
-
C++提供了大量的用于执行格式化输入/输出的流操纵符和成员函数。
-
功能:
-
打印地址: cout << (void*)a;
-
整数流的基数:dec、oct、hex和setbase
-
设置浮点数精度:precision、setprecision
-
设置域宽:setw、width
-
-
注:如果用到了含参数的流操纵算子,则必须包含头文件< iomanip >。
5)<<运算符重载
class Complex
{double real,imag;
public:Complex( double r=0, double i=0):real(r),imag(i){ };friend ostream & operator<<( ostream & os,const Complex & c);
};
ostream & operator<<( ostream & os,const Complex & c)
{os << c.real << "+" << c.imag << "i";return os;
}
int main()
{Complex c(3, 5);int n = 220;cout << c << "," << n;return 0;
}
6)hex、oct、dec和setbase
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{int number;cout << "Enter a decimal number: ";cin >> number;cout << number << " in hexadecimal is: " << hex<< number << endl;cout << dec << number << " in octal is: " << oct << number << endl;cout << setbase(10) << number << " in decimal is: " << number << endl;return 0;
}
/*
输出结果:
Enter a decimal
number: 20
20 in hexadecimal is:14
20 in octal is: 24
20 in decimal is: 20
*/
7)浮点精度(precision,setprecision)
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{double root2 = sqrt( 2.0 );int places;// use fixed point formatcout << fixed;for ( places = 0; places <= 9;places++ ){cout.precision( places );cout << root2 << endl;}for ( places = 0; places <= 9; places++ ){cout << setprecision( places ) <<root2 << endl;}return 0;
}
8)域宽(width,setw)
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{int widthValue = 4;char sentence[ 10 ];cout << "Enter a sentence:" << endl;cin.width( 5 );while ( cin >> sentence ){cout.width( widthValue++ );cout << sentence << endl;//cout<<setw(widthValue++) << sentence << endl;cin.width( 5 );}return 0;
}
9)用户自定义的流操纵算子
#include <iostream>
using namespace std;
ostream& bell( ostream& output )
{return output << '\a'; // issue system beep
}
ostream& carriageReturn( ostream& output )
{return output << '\r'; // issue carriage return
}
ostream& tab( ostream& output )
{return output << '\t'; // issue tab
}
ostream& endLine( ostream& output )
{return output << '\n' << flush; // issue endl-like end of line
}
int main()
{cout << "Testing the tab manipulator:" << endLine<< 'a' << tab << 'b' << tab << 'c' << endLine;cout << "Testing the carriageReturn and bell manipulators:"<< endLine << "..........";cout << bell; // use bell manipulatorcout << carriageReturn << "-----" << endLine;
return 0;
}
2.文件操作
-
临时数据
-
存储在变量和数组中的数据是临时的,这些数据在程序运行结束后都会消失。
-
-
文件
-
目的:文件用来永久地保存大量的数据。
-
存储:计算机把文件存储在二级存储设备中(特别是磁盘存储设备)。
-
1)文件中的数据层次
-
位(bit): 最小数据项:0和1
-
字符(character)/字节(byte)
字符:数字、字母和专门的符号
字节:0、1序列 (常见的是8位/字节)
字符用字节表示
-
域(field):一组有意义的字符
-
记录(record)
-
一组相关的域
-
记录关键字(record key):用于检索
-
-
文件(file):一组相关的记录
-
数据库:一组相关的文件
2)文件和流
-
C++语言把每一个文件都看成一个有序的字节流(把文件看成n个字节)
-
每一个文件或者以文件结束符(end-of-file marker)结束,或者在特定的字节号处结束
-
当打开一个文件时,该文件就和某个流关联起来
-
与这些对象相关联的流提供程序与特定文件或设备之间的通信通道
3)文件输出例子
#include <iostream>
#include <fstream> // file stream
#include <cstdlib>
using namespace std;
int main()
{ofstream outClientFile( "clients.dat", ios::out );//打开文件// exit program if unable to create fileif ( !outClientFile ) // overloaded ! operator{cerr << "File could not be opened" << endl;exit( 1 );}cout << "Enter the account, name, and balance." << endl<< "Enter end-of-file to end input.\n? ";int account;char name[ 30 ];double balance;
// read account, name and balance from cin, then place in filewhile ( cin >> account >> name >> balance ){outClientFile << account << ' ' << name << ' ' << balance << endl;//写文件cout << "? ";}return 0; // ofstream destructor closes file
}
/*
输出结果:
Enter the account, name, and balance. Enter end-of-file to end input. ? 100 Jones 24.98
? 200 Doe 345.67
? 300 White 0
? 400 Stone -42.16
? 500 Rich 224.62
? ^z
*/
4)文件访问
-
定义一个流对象
-
打开文件
-
访问文件
-
关闭文件
(1)测试文件打开是否成功
-
用重载的ios运算符成员函数operator!确定打开操作是否成功。如果open操作的流将failbit或badbit设置,则这个条件返回非0值(true)。
-
可能的错误是:
• 试图打开读取不存在的文件
• 试图打开读取没有权限的文件
• 试图打开文件以便写入而磁盘空间不足。
(2)测试文件结束符与不合法输入
-
另一个重载的ios运算符成员函数operator void将流变成指针,使其测试为0(空指针)或非0(任何其他指针值)。如果failbit或badbit对流进行设置,则返回0(false)。
-
下列while首部的条件自动调用operator void*成员函数:
Line 26: while (cin >> account >> name >>balance )只要cin的failbit和badbit都没有设置,则条件保持true。输入文件结束符设置cin的failbit。operator void*函数可以测试输入对象的文件结束符,而不必对输入对象显式调用eof成员函数。
(3)打开输入文件
-
ifstream inClientFile( “clients.dat” , ios::in );
-
生成ifstream对象inClientFile,并将其与打开以便输入的文件clients.dat相关联。括号中的参数传入ifstream构造函数,打开文件并建立与文件的通信线路。
-
打开ifstream类对象默认为进行输入,因此下列语句等价:
ifstream inClientFile( “Clients.dat” );
-
和ofstream对象一样,ifstream对象也可以生成而不打开特定文件,然后再将用open对象与文件相连接。
//文件输出例子
#include <iostream>
#include <fstream> // file stream
#include <iomanip>
#include <string>
#include <cstdlib>
using namespace std;
void outputLine( int, const string, double ); // prototype
int main()
{// ifstream constructor opens the fileifstream inClientFile( "clients.dat", ios::in );// exit program if ifstream could not open fileif ( !inClientFile ){cerr << "File could not be opened" << endl;exit( 1 );} // end ifint account;char name[ 30 ];double balance;cout << left << setw( 10 ) << "Account" << setw( 13 )<< "Name" << "Balance" << endl << fixed << showpoint;
// display each record in filewhile ( inClientFile >> account >> name >> balance ){outputLine( account, name, balance );}return 0; // ifstream destructor closes the file
}
// display single record from filevoid outputLine( int account, const string name, double balance ){cout << left << setw( 10 ) << account << setw( 13 ) << name<< setw( 7 ) << setprecision( 2 ) << right << balance << endl;}
5)文件位置指针
-
为了按顺序检索文件中的数据,程序通常要从文件的起始位置开始读取数据,然后连续地读取所有的数据,直到找到所需要的数据为止。可能需要反复多次。
-
文件位置指针( file position pointer):用于指示读写操作所在的下一个字节号;是个整数值,指定文件中离文件开头的相对位置(也称为离文件开头的偏移量)
6)文件指针重新定位
-
istream类和ostream类都提供成员函数,使文件位置指针重新定位
-
istream类的seekg (即“seekget”) :每个istream对象有个get指针,表示文件中下一个输入相距的字节数
-
ostream类的seekp (即“seekput”):每个ostream对象有一个put指针,表示文件中下一个输出相距的字节数
-
-
seekg和seekp的第一个参数通常为long类型的整数,表示偏移量。第二个参数可以指定寻找方向:
• ios::beg(默认)相对于流的开头定位
• ios::cur相对于流当前位置定位
• ios::end相对于流结尾定位
7)获取文件指针值
-
成员函数tellg和tellp分别返回get和put指针的当前位置。
下列语句将get文件位置指针值赋给long类型的变量
location。
location = filObject.tellg();
8)更新顺序访问文件
-
格式化和写入顺序访问文件的数据修改时会有破坏文件中其他数据的危险
-
例如,如果要把名字“White”改为“Worthington” ,则不是简单地重定义旧的名字。White的记录是以如下形式写入文件中的:
300 White 0.00
如果用新的名字从文件中相同的起始位置重写该记录,记录的格式就成为:
300 Worthington 0.00
-
因为新的记录长度大于原始记录的长度,所以从“Worthington”的第二个“o”之后的字符将重定义文件中的下一条顺序记录。
-
出现该问题的原因在于:在使用流插入运算符<<和流读取运算符>>的格式化输入,输出模型中,域的大小是不定的,因而记录的大小也是不定的。例如,7、14、-117、2047和27383都是int类型的值,虽然它们的内部存储占用相同的字节数,因此,格式化输入输出模型通常不用来更新已有的记录。
-
一种解决方法:将在3000 White 0.00之前的记录复制到一个新的文件中,然后写入新的记录并把300 White 0.00之后的记录复制到新文件中。这种方法要求在更新一条记录时处理文件中的每一条记录。如果文件中一次要更新许多记录,则可以用这种方法。
3.STRING类
-
C++、java等编程语言中的字符串。
-
在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。
-
String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的
为什么需要string?
-
在内部进行内存分配,从而保证应用程序的健壮性
-
提供了拷贝构造函数和复制运算符,确保字符串的正确复制
-
减少程序员创建和操作字符串需要做的工作
-
提供了增删改查的操作,让程序员可以把精力放在应用程序的主要需求上,而不是字符串的操作细节。
1)string对象的定义和初始化
string s1; string s2(s1); string s3("value"); string s4(n,'c');
2)string对象的读写
-
读入未知数目的string对象
while(cin>>world)
cout <<world <<endl;
-
用getline读取整行
getline(cin, s);
3)string对象的操作
s.empty(); s.size(); s[n]; //下标操作 范围0~? s1+s2; s1=s2; v1==v2; != < <= > >=
4)string对象中字符的处理
4.异常处理
1)C错误处理机制
-
函数返回错误编码
-
使用全局变量保存错误编码
-
出错时终止程序运行
-
缺点:
-
难以统一标准
-
复杂
-
构造和析构函数没有返回值
-
出错就返回,用户接受度低
-
2)异常处理机制
-
C++异常处理的基本思想是简化程序的错误代码,为程序的健壮性提供了一个标准检测机制:若底层发生问题,则逐级上报,直到有能力处理此异常为止。
-
异常处理的优势:
-
增强程序的健壮性。
-
使代码变得更简洁优美,更易维护。
-
错误信息更灵活丰富。
-
缺点:
-
性能下降5%~14%。
2. 破坏了程序的结构性。
-
完成正确的异常安全的代码,需要付出更大的代价。
3)抛出异常
任何时候,程序在执行中遇到了非正常状况都可以抛出异常异常用throw语句抛出
A *p = new A;
if (p == NULL)
{
throw string(“Out of Memory.”);
}
一旦抛出异常,则程序将在throw语句处跳出
4)捕获异常
异常也由程序员负责捕获
用try{…}catch( ){…}语句来捕获异常
没有捕获的异常将被忽略
try{
// 可能抛出异常的语句
}catch(exceptionType variable){
// 处理异常的语句
}
//捕获异常的例子
#include <iostream>
#include <string>
#include <exception>
using namespace std;
int main()
{string str = "http://www.cplusplus.com";try{char ch1 = str[100];cout<<ch1<<endl;}catch(exception e){cout<<"[1]out of bound!"<<endl;}try{char ch2 = str.at(100);cout<<ch2<<endl;}catch(exception &e){ //exception类位于<exception>头文件中cout<<"[2]out of bound!"<<endl;}return 0;
}
//捕获任意异常例子
#include <iostream>
using namespace std;
int main( )
{int a, b;a = 8;b = 0;try{if (b == 0){throw "Divided by Zero!";}else{double c = a/b;cout << c << endl;}}catch(...){cout << "Exception caught!" << endl;}
}
5)异常处理的流程
抛出(Throw)--> 检测(Try) --> 捕获(Catch)
6)异常的传递
-
产生异常之后,程序会立刻跳转
-
跳出到最近的一层捕获异常的语句
-
如果当前没有捕获语句或者捕获语句中没有匹配的异常,则程序会跳出当前的函数
-
-
在函数的调用处,如果没有捕获住异常,则直接跳转到更高一层的调用者
-
如果一直没有捕获该异常,C++将会使用默认的异常处理函数
-
p 该处理函数可能会让程序最终跳出main函数并导致程序异常终止
-
7)C++标准的异常
8)异常的说明
相关文章:
C++高级编程(8)
八、标准IO库 1.输入输出流类 1)非格式化输入输出 2)put #include <iostream> #include <string> using namespace std; int main() {string str "123456789";for (int i str.length() - 1; i > 0; i--) {cout.put(str[i]); //从最后一个字符开…...
AUTOSAR_EXP_ARAComAPI的7章笔记(2)
☞返回总目录 相关总结:服务发现实现策略总结 7.2 服务发现的实现策略 如前面章节所述,ara::com 期望产品供应商实现服务发现的功能。服务发现功能基本上是在 API 级别通过 FindService、OfferService 和 StopOfferService 方法定义的,协议…...
【C++】 C++游戏设计---五子棋小游戏
1. 游戏介绍 一个简单的 C 五子棋小游戏 1.1 游戏规则: 双人轮流输入下入点坐标横竖撇捺先成五子连线者胜同一坐标点不允许重复输入 1.2 初始化与游戏界面 初始化界面 X 输入坐标后 O 输入坐标后 X 先达到胜出条件 2. 源代码 #include <iostream> #i…...
仿RabitMQ 模拟实现消息队列项目开发文档2(个人项目)
项目需求分析 核心概念 现在需要将这个项目梳理清楚了,便于之后的代码实现。项目中具有一个生产消费模型: 其中生产者和消费者的个数是可以灵活改变的,让系统资源更加合理的分配。消息队列的主逻辑和上面的逻辑基本一样,只不过我…...
李佳琦回到巅峰背后,双11成直播电商分水岭
时间倏忽而过,又一年的双11即将宣告结束。 从双11正式开始前的《新所有女生的offer》,到被作为“比价”标杆被其他平台直播间蹭、被与其他渠道品牌比较,再到直播间运营一时手快多发了红包……整个双11周期下来,李佳琦直播间在刷新…...
云计算在教育领域的应用
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 云计算在教育领域的应用 云计算在教育领域的应用 云计算在教育领域的应用 引言 云计算概述 定义与原理 发展历程 云计算的关键技…...
C语言 | Leetcode C语言题解之第543题二叉树的直径
题目: 题解: typedef struct TreeNode Node;int method (Node* root, int* max) {if (root NULL) return 0;int left method (root->left, max);int right method (root->right, max);*max *max > (left right) ? *max : (left right);…...
6、If、While、For、Switch
6、If、While、For、Switch 一、If 1、if-else if (boolean) {代码块 } else if (boolean) {代码块 } else if (boolean) {代码块 } else { // 默认情况代码块 }关于IDEA单元测试控制台不能输入数据的问题: https://blog.csdn.net/m0_72900498/article/details/…...
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
随着智慧城市和数字化转型的推进,视频监控系统已成为保障公共安全、提升管理效率的重要工具。特别是在大中型项目中,跨区域的网络化视频监控需求日益增长,这要求视频监控管理平台不仅要具备强大的视频资源管理能力,还要能够适应多…...
【多线程】线程池如何知道一个线程的任务已经完成
目录 1. 说明2. 任务的生命周期3. 状态更新4. 线程间的协作5. 内部数据结构6. 回调与通知7. 线程池的关闭与清理 1. 说明 1.线程池通过一系列内部机制来知道一个线程的任务已经完成。2.这些机制主要涉及任务的生命周期管理、状态更新以及线程间的协作。 2. 任务的生命周期 1…...
Transformer介绍(一)
Transformer是一种特殊的神经网络,一种机器学习模型。 谷歌在2017年推出的原版Transformer,论文《Attention Is All You Need》,专注于将一种语言的文本翻译成另一种。 而我们要关注的Transformer变种,即构建ChatGPT等工具的模型…...
[CKS] TLS Secrets创建与挂载
目前的所有题目为2024年10月后更新的最新题库,考试的k8s版本为1.31.1 BackGround 您必须使用存储在TLS Secret中的SSL文件,来保护Web 服务器的安全访问。 Task 在clever-cactus namespace中为名为clever-cactus的现有Deployment创建名为clever-cactu…...
java双向链表解析实现双向链表的创建含代码
双向链表 一.双向链表二.创建MyListCode类实现双向链表创建一.AddFirst创建(头插法)二.AddLast创建(尾叉法)三.size四.remove(指定任意节点的首位删除)五.removeAll(包含任意属性值的所有删除)六.AddIndex(给任意位置添加一个节点…...
【Kafka-go】golang的kafka应用
网络上关于go的Kafka还是比较少的今天就先出一篇入门级别的,之后再看看能能出一个公司业务场景中的消息流。 一、下载github.com/segmentio/kafka-go包 go get github.com/segmentio/kafka-go二、建立kafka连接 正常来说下面的配置host topic partition 应该写在…...
redis:set集合命令,内部编码,使用场景
个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言命令SADDSMEMBERSSISMEMBERSCARDSPOPSMOVESREM集合间操作SINTERSINTERSTORESUNIONSUNIONSTORESDIFFSDIFFSTORE 内部编码使用场景总结 前言…...
45期代码随想录算法营总结
代码随想录训练营总结与收获 在为期60天的代码随想录训练营结束后,我感慨良多。这段时间不仅让我在编程技能上有了明显的提升,更让我在学习习惯和时间管理上有了深刻的反思和改变。 报名参加这个训练营对我来说是一个重要的监督机制。之前我总是拖延&a…...
深入理解Java中的instanceof关键字及接口新特性:方法实现的可能性
目录 引言 1. 什么是instanceof关键字? 1.1 语法结构 1.2 instanceof的用法示例 1.3 instanceof的应用场景 2. Java中的接口能包含方法实现吗? 2.1 默认方法(Default Method) 2.2 静态方法(Static Method&…...
【python中如果class没有self会怎行】
python中如果class没有self会怎样TOC 在Python中,self是一个约定俗成的名称,用于表示类的实例。如果没有使用self,会导致以下问题: 1、无法访问实例属性: 在类的方法中,如果没有self,方法将无…...
【算法】(Python)动态规划
动态规划: dynamic programming。"programming"指的是一种表格法,而非编写计算机程序。通常解决最优化问题(optimization problem)。将问题拆分成若干个子问题,求解各子问题来得到原问题的解。适用于多阶段…...
EasyExcel 学习之 导出 “提示问题”
EasyExcel 学习之 导出 “提示问题” 现象分析解决(伪代码)前端 POST 实现后端实现 现象 EasyExcel 支持导出 xlsx、xls、csv 三种文件格式。在导出过程中可能发生各种异常,当发生异常时应该提示错误信息而非导出一个错误的文件。 分析 首…...
应用系统开发(3)低功耗四运算放大器LM324N
LM324N 是一种广泛使用的 低功耗四运算放大器,由德州仪器(Texas Instruments)和其他制造商生产。它具有四个独立的运算放大器,能够在单电源或双电源模式下运行,适合多种模拟电路应用。以下是详细信息: 芯片基本信息 型号:LM324N封装类型:常见 DIP(双列直插封装)或 SO…...
基于微信小程序的电商平台+LW示例参考
1.项目介绍 系统角色:管理员、普通用户功能模块:管理员(用户管理、商品分类、商品管理、订单管理、系统管理等),普通用户(个人中心、收藏、我的订单、查看商品等)技术选型:SpringBo…...
[Android] Graphic Buffer 的申请
前言: MediaCodec 支持 texture mode,即MediaCodec解码video完毕后把 yuv 数据填入 GPU 共享出来的 graphic buffer 里面,app 会把 video 的 yuv数据 和 ui 的数据通过通过软件渲染组件(opengl等)发送给GPU 进行一并渲染。这样做的效率较低&…...
【大数据学习 | HBASE高级】storeFile文件的合并
Compaction 操作分成下面两种: Minor Compaction:是选取一些小的、相邻的StoreFile将他们合并成一个更大的StoreFile,对于删除、过期、多余版本的数据不进行清除。 Major Compaction:是指将所有的StoreFile合并成一个StoreFile&am…...
多平台编包动态引入依赖的解决方案
最近开发时遇到了这样的需求,A 平台需要引入一个 video.js,B 平台却是不需要的,那么面向 B 平台打包的时候把依赖装进去自然就不大合适。最好的方法是动态引入依赖,根据平台来判断要不要引入 动态引入依赖 很快啊,动…...
[单例模式]
目录 [设计模式] 单例模式 1. 饿汉模式 2. 懒汉模式 3. 单例模式的线程安全问题 [设计模式] 设计模式是软件工程中的一种常见做法, 它可以理解为"模板", 是针对一些常见的特定场景, 给出的一些比较好的固定的解决方案. 不同语言适用的设计模式是不一样的. 这里…...
速盾:游戏盾的功能和原理详解
速盾有一款专注于网络游戏安全的防护系统,它通过实时监测游戏网络流量和玩家行为,以及使用先进的算法和技术进行分析和识别,检测出各种外挂、作弊行为和恶意攻击,从而保障游戏的公平性和玩家的安全性。 速盾游戏盾的主要功能包括…...
Spleeter:音频分离的革命性工具
目录 什么是Spleeter?Spleeter的工作原理Spleeter的应用场景Spleeter的技术优势Spleeter的挑战与局限性结论 什么是Spleeter? Spleeter 是一个由 Deezer 开发的开源音频源分离工具。它基于深度学习技术,尤其是卷积神经网络(CNN&a…...
【笔记】自动驾驶预测与决策规划_Part6_不确定性感知的决策过程
文章目录 0. 前言1. 部分观测的马尔可夫决策过程1.1 POMDP的思想以及与MDP的联系1.1.1 MDP的过程回顾1.1.2 POMDP定义1.1.3 与MDP的联系及区别POMDP 视角MDP 视角决策次数对最优解的影响 1.2 POMDP的3种常规解法1.2.1 连续状态的“Belief MDP”方法1. 信念状态的定义2. Belief …...
openresty入门教程:access_by_lua_block
在OpenResty中,access_by_lua_block 是一个功能强大的指令,它允许你在Nginx的访问控制阶段执行Lua脚本。这个阶段发生在Nginx处理请求的过程中,紧接在rewrite阶段之后,但在请求被传递到后端服务器(如PHP、Node.js等&am…...
网站开发需要做什么/新网站友链
目录标题前后分离的演变史1、后端为主的MVC时代2、基于AJAX带来的SPA时代3、前端为主的MVC时代4、Node JS带来的全栈时代5、总结前后分离的演变史 为什么需要前后分离? 1、后端为主的MVC时代 为了降低开发的复杂度, 以后端为出发点, 比如&…...
wordpress 语种顺序/白杨seo课程
2019独角兽企业重金招聘Python工程师标准>>> qt 5.1 主窗体与子窗体同时创建,如果主窗体设置全屏,经常的现象是子窗体显示不出来!这时候主窗体宽高减一,就可正常显示! 转载于:https://my.oschina.net/u/567…...
云网站功能/代刷网站推广
最近,网络和媒体都在狂轰乱炸一些新闻,从最早的西藏事件、5.12地震、瓮安事件、上海警察局事件、张家界爆炸事件等等,在这么新闻背后太多太多的东西让人回味与沉思,其实最简单的也是最重要的一个道理就是:当今社会的人…...
东莞网站关键排名/女教师遭网课入侵视频大全集
1:Esri在开源领域做过哪些工作? Esri一直以来就是开源技术的用户和支持者。我们相信,通过提供从上到下的开放平台可使我们的用户成为开发能力强大的解决方案的积极参与者。在现有技术形势下,我们正在将我们的想法集成到开源项目中…...
关于购物网站建设的论文/浏览器里面信息是真是假
线程是允许进行并行计算的一个抽象概念:在另一个线程完成计算任务的同时,一个线程可以对图像进行更新,二个线程可以同时处理同一个进程发出的二个网络请求。我们在这篇文章中将重点讨论Java和C#在线程方面的不同之处,并将一些Java…...
java做直播网站有哪些/企业网站优化报告
ArchiMate关系摘要 结构关系名称表示定义*组成表示一个元素由一个或多个其他概念组成。聚合表示一个元素由一个或多个其他概念组成。分配表达责任分配,行为表现或执行。实现 表明实体在创造,成就,维持或操作更抽象的实体中发挥关键作用。Arch…...