Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

C++ 新标准下的强制类型转换详解

C++ 新标准下的强制类型转换详解

使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast。static_cast用法:static_cast<type_id> (expression)该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:用于类层次结构中基类和派生类之间指针或引用的转换 进行上行转换(把派生类的指针或引用转换成基类表示)是...
Python IDLE 清屏问题

Python IDLE 清屏问题

在学习和使用python的过程中,少不了要与Python IDLE打交道。但使用 Python IDLE都会遇到一个常见而又懊恼的问题——要怎么清屏?答案是为IDLE增加一个清屏的扩展ClearWindow就可以了.步骤:下载clearwindow.py(右击-目标另存为,格式为py结尾,直接点击会打开脚本内容)。拷贝clearwindow.py文件,放在Python安装目录Python XXXLibidlelib下面(XXX为你的...
详解C++ 类的前置声明的使用

详解C++ 类的前置声明的使用

刚开始学习C++的人都会遇到这样的问题: 定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样://a.h#include "b.h"class A{....private:B b;};//另一个头文件b.h#include "a.h"class B{....private:A a;};一编译,就出现了一个互包含的问题了,这时就有人跳出来说,这个问题的解决办法可以这样,在a.h文件中声明类B...
C标准库函数中复杂的函数声明

C标准库函数中复杂的函数声明

<signal.h> 中有一个复杂的函数声明。很叫人费解。void (*signal(int sig, void (*handler)(int)))(int);我们按照向右看向左看的黄金法则来分析这个函数声明。如果你不明白我在讲什么,请看 读懂C复杂声明的黄金法则。首先这个声明的主体是signal,这个应该没有争议。向右看,(int sig, void (*handler)(int)),括号和参数,说明signal是一个函数。第一个整形参数si...
读懂复杂C声明的黄金法则

读懂复杂C声明的黄金法则

黄金法则:从声明的变量开始,先向右看,再向左看,再向右看,再向左看 。如果向右看的时候遇到),则一直向左看,直到遇到(跳出这层括号。然后再重复向右看,向左看。举例说明:例子1int a;a 的右边什么都没有,向左看int,说明a是一个int型变量。例子2char *a;向右看,什么都没有; 向左看是*, 说明a是一个指针; 再向右看,什么都没有; 再向左看是char,说明a是一个指向char的指针。例子3int *a[];向右看,[]说明a是一个数组;向左...
Linux线程的信号量同步

Linux线程的信号量同步

信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区。不多做解释,要使用信号量同步,需要包含头文件semaphore.h。主要用到的函数:int sem_init(sem_t *sem, int pshared, unsigned int value);,其中sem是要初始化的信号量,pshared表示此信号量是在进程间共享还是线程间共享,value是信号量的初始值。int sem_destroy(sem_...
ExtJS 6有什么新东西?

ExtJS 6有什么新东西?

ExtJS在Sencha框架中引入了许多新的和令人兴奋的改进。这些变化为基于所有现代浏览器、设备和屏幕尺寸带来了新的功能和可用性。工具包(ToolKits)ExtJS 6最大的变化就是将ExtJS和Touch合并为一个单一的框架。之前的框架的核心(数据、控制器、模型等等)已被调和为一个单一的公共平台。这样,数据和逻辑就能共享,从而帮助开发人员进一步去优化他们的应用程序。那些具有独特功能的东西将会被分解为两个绝然不同的两个工具包:古典(Classic)和现代...
浅析Objective-C字面量

浅析Objective-C字面量

编写Objective-C程序时,总会用到某几个类,它们属于Foundation框架。虽然从技术上来说,不用Foundation框架也能写出Objective-C代码,但实际上却经常要用到此框架。这几个类是NSString、NSNumber、NSArray、NSDictionary。从类名上即可看出各自所表示的数据结构。Objective-C以语法繁杂而著称。事实上的确是这样。不过,从Objective-C 1.0起,有一种非常简单的方式能创建NSStri...
Objective-C中Block语法、Block使用以及通过Block实现数组排序

Objective-C中Block语法、Block使用以及通过Block实现数组排序

Block:语法块,本质上是匿名函数(没有名称的函数)标准C里面没有Block,C语言的后期扩展版本,加入了匿名函数在C++、JS、Swift等语言有类似语法,叫做闭包Block语法和C语言里的函数指针很相似,下面我们先来回顾下C语言中的函数和函数指针C语言中函数是指:实现某一功能的代码段完整的函数包括两部分:函数声明、函数定义函数声明,即函数原型。例如:int sum (int x,int y);具有两个整形参数,一个整形返回值的函数函数定义,即函数实现...
Hibernate4之Hello World(基础环境搭建)

Hibernate4之Hello World(基础环境搭建)

刚开始复习Hibernate,刚复习时,发现全忘了,连环境搭建都不会了,等于从头再来啊,没办法硬着头皮,只得从头再来了。Hibernate是一款优秀的ORM框架,即object relation mapping 对象关系映射。我的理解就是自动把pojo类对象的操作转为对数据库中相应表的操作。简单说就是创建一个pojo类对象,那么数据库中相应的表中也会插入这么一个对象。修改,删除,当然也是的了。可以理解就是尽可能的隔离数据库操作与java开发。一、下载Hib...
Lua正则表达式(string函数)

Lua正则表达式(string函数)

下面的表列出了Lua支持的所有字符类: . 任意字符%a 字母%c 控制字符%d 数字%l 小写字母%p 标点字符%s 空白符%u 大写字母%w 字母和数字%x 十六进制数字%z 代表0的字符在模式匹配中有一些特殊字符( ) . % + - * ? [ ^ $%用作特殊字符的转义字符,因此 "%." 匹配字符点".", "%%"匹配字符 "%" .转义字符"%"不仅可以用来转义特殊字符,还可以用于所...
Linux 网络编程——IP 数据报格式详解

Linux 网络编程——IP 数据报格式详解

IP 数据报首部TCP/IP 协议定义了一个在因特网上传输的包,称为 IP 数据报 (IP Datagram)。这是一个与硬件无关的虚拟包,由首部和数据两部分组成。首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首都中的源地址和目的地址都是 IP 协议地址。IP 数据报首部的固定部分中的各字段:1)版本:占4位,指IP协议的版本。通信双方使用的 IP 协议版本必须一致。日前广泛...
Linux 网络编程——TCP 和 UDP 数据报文式详解

Linux 网络编程——TCP 和 UDP 数据报文式详解

TCP 报文格式TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 报文段的报头有 10 个必需的字段和 1 个可选字段。报头至少为 20 字节。报头后面的数据是可选项。1)源端口(16位)标识发送报文的计算机端口或进程。一个 TCP 报文段必须包括源端口号,使目的主机知道应该向何处发送确认报文。2)目的端口(16位)标识接收报文的目的主机的端口或进程。3) 序号(...
<< 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 >>