-
C++ 11是什么 C++ 11标准的原由
所属栏目:[编程] 日期:2022-07-14 热度:180
C++ 这门编程语言的历史可以追溯至 1979 年,当时的 Bjarne Stroustrup(C++ 之父,后续简称 Stroustrup)还在使用 Simula 语言进行开发工作。 Simula 语言被认为是第一个面向对象的编程语言。Stroustrup 也非常赞赏 Simula 语言的这种特性,但由于实例开发[详细]
-
C++ auto类型推导完全策略
所属栏目:[编程] 日期:2022-07-14 热度:129
在 C++11 之前的版本(C++98 和 C++ 03)中,定义变量或者声明变量之前都必须指明它的类型,比如 int、char 等;但是在一些比较灵活的语言中,比如 C#、JavaScript、PHP、Python 等,程序员在定义变量时可以不指明具体的类型,而是让编译器(或者解释器)自[详细]
-
C++ decltype类型推导完全战略
所属栏目:[编程] 日期:2022-07-14 热度:88
decltype 是 C++11 新增的一个关键字,它和 auto 的功能一样,都用来在编译时期进行自动类型推导。不了解 auto 用法的读者请转到《C++ auto》。 decltype 是declare type的缩写,译为声明类型。 既然已经有了 auto 关键字,为什么还需要 decltype 关键字呢?[详细]
-
C++返回值类型后置 跟踪返回值类别
所属栏目:[编程] 日期:2022-07-14 热度:72
在泛型编程中,可能需要通过参数的运算来得到返回值的类型。考虑下面这个场景: template typename R, typename T, typename U R add(T t, U u) { return t+u; } int a = 1; float b = 2.0; auto c = adddecltype(a + b)(a, b); 我们并不关心 a+b 的类型是什[详细]
-
C++11运用using定义别名 替代typedef
所属栏目:[编程] 日期:2022-07-14 热度:194
大家都知道,在 C++ 中可以通过 typedef 重定义一个类型: typedef unsigned int uint_t; 被重定义的类型并不是一个新的类型,仅仅只是原有的类型取了一个新的名字。因此,下面这样将不是合法的函数重载: void func(unsigned int); void func(uint_t); // e[详细]
-
链接库是啥 动态链接库和静态链接库
所属栏目:[编程] 日期:2022-07-14 热度:166
静态链接库和动态链接库是最常用的两种共享代码的方法,从本节开始,您将系统地了解它们,并彻底搞清楚以下问题: 什么是库,什么是链接库,以及静态链接库和动态链接库的区别; 如何手动创建一个静态或者动态链接库; 如何在自己的项目中使用第三方提供的静[详细]
-
首个多线程程序
所属栏目:[编程] 日期:2022-07-14 热度:133
通过阅读《什么是线程》一节,我们了解了什么是线程以及什么是多线程。本节,我们教大家编写第一个多线程程序。 大多数操作系统都支持同时执行多个程序,包括常见的 Windows、Linux、Mac OS X 操作系统等。为了避免多个程序访问系统资源(包括文件资源、I/O[详细]
-
Makefile控制函数error与warning
所属栏目:[编程] 日期:2022-07-14 热度:112
Makefile 中提供了两个控制 make 运行方式的函数。其作用是当 make 执行过程中检测到某些错误时为用户提供消息,并且可以控制 make 执行过程是否继续。这两个函数是 error 和 warning,我们来详细的介绍一下这两个函数。 $(error TEXT...) 函数说明如下: 函[详细]
-
Makefile中寻常的错误信息
所属栏目:[编程] 日期:2022-07-14 热度:57
make 执行过程中所产生错误并不都是致命的,特别是在命令行之前存在 -、或者 make 使用 -k 选项执行时。make 执行过程的致命错误都带有前缀字符串 ***。错误信息都有前缀,一种是执行程序名作为错误前缀(通常是 make);另外一种是当 Makefile 本身存在语法[详细]
-
PHP解决excel cvs表格的方法实例介绍
所属栏目:[编程] 日期:2022-07-14 热度:80
复制代码 代码如下:www.CuoXIn.com PRE class=php name=code?php $data = array(); //convert a cvs file to an array $data $handle = fopen(data.csv,r); while ($curline = fgetcsv($handle, 1000, ,)){ $tmp = array(); $num = count($curline); for($c=[详细]
-
基于php缓存的细解
所属栏目:[编程] 日期:2022-07-14 热度:152
nginx缓存 nginx有两种缓存机制:fastcgi_cache和proxy_cache 下面我们来说说这两种缓存机制的区别吧 proxy_cache作用是缓存后端服务器的内容,可能是任何内容,包括静态的和动态的 fastcgi_cache作用是缓存fastcgi生成的内容,很多情况是php生成的动态内容 p[详细]
-
深入php之规范编程命名小总结
所属栏目:[编程] 日期:2022-07-14 热度:52
在之前工作的时候都未注重自己的命名规范,现在根据驼峰命名严格要求自己: 相关的定义如下 基本概念 骆驼式命名法(又称驼峰命名法),正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。程序员们为了自己的代码能 更容易[详细]
-
深入解析php之面向对象
所属栏目:[编程] 日期:2022-07-14 热度:79
以前对面向对象仅限于死记硬背型,工作这么久了,回过头来看又是一翻体悟,供大家看看。 1.final final:php5新增一个final关键字。如果父类中的方法被声明为final,则子类无法覆盖该方法;如果一个类被声明final,则不能被继承。 复制代码 代码如下:www.Cuo[详细]
-
基于php设计模式中单例模式的应用解析
所属栏目:[编程] 日期:2022-07-14 热度:72
单例模式:简单的说,一个对象只负责一个特定的任务。 单例类: 1.构造函数需要标记为private,单例类不能再其他类中实例化,只能被其自身实例化 2.拥有一个保存类的实例静态成员变量 3.拥有一个访问这个实例的公共的静态方法。[常用getInstance()方法进行实[详细]
-
PHP正则匹配中文字母数字正则表达式介绍
所属栏目:[编程] 日期:2022-07-14 热度:151
方法一 代码如下 if(preg_match(/^d*$/, 4312)) { echo 全数字 ; } if(preg_match(/^[a-z]*$/i, fdsFDfd)) { echo 全字母 ; } if(preg_match(/^[a-zd]*$/i, fd4fd34)) { echo 有数字有字母 ; } 中文汉字 代码如下 $username=$_REQUEST[username]; if(!preg_m[详细]
-
php设计模式之观察者模式的应用详细介绍
所属栏目:[编程] 日期:2022-07-14 热度:66
观察者模式:定义对象间一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。 观察者类: 1.抽象主题角色:主题角色将所有对观察者对象的引用保存在一个集合中,每个主题可以任意多个观察者。抽象主题提供了增加和[详细]
-
用何软件打开php文件
所属栏目:[编程] 日期:2022-07-14 热度:112
php文件相信很多电脑老手也不知道吧?今天有电脑电脑百事网网友问了编辑这个问题:php文件怎么打开?,其实大家并非是需要去打开php文件,多数只是因为下载东西,错误的下载到成了网页文件,主要是下载站中的下载连接其实是php脚本文件控制的,有的不支持一些[详细]
-
PHP下打开phpMyAdmin发生403错误
所属栏目:[编程] 日期:2022-07-14 热度:93
安装完wamp后打开其下的phpMyAdmin也就是路径http://localhost/phpmyadmin/ 出现 看里面的代码一下明白了 代码如下: Directory c:/wamp/apps/phpmyadmin3.5.1/ Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Deny from all[详细]
-
php二分法查找数组是否涵盖某一元素
所属栏目:[编程] 日期:2022-07-14 热度:158
二分法查找数组是否包含某一元素,兼容正反序,代码实现: 代码如下: ?php $searchValue = (int)$_GET[key]; function search(array $array, $value) { $max = count($array)-1; $min = 0; $isAscSort = $array[$min] $array[$max]; while (TRUE) { $sum = $[详细]
-
C++11支撑函数模板的默认模板参数
所属栏目:[编程] 日期:2022-07-13 热度:108
在 C++98/03 标准中,类模板可以有默认的模板参数,如下: template typename T, typename U = int, U N = 0 struct Foo { // ... }; 但是却不支持函数的默认模板参数: template typename T = int // error in C++98/03: default template arguments void f[详细]
-
C++11 tuple元组细说
所属栏目:[编程] 日期:2022-07-13 热度:192
C++11 标准新引入了一种类模板,命名为 tuple(中文可直译为元组)。tuple 最大的特点是:实例化的对象可以存储任意数量、任意类型的数据。 tuple 的应用场景很广泛,例如当需要存储多个不同类型的元素时,可以使用 tuple;当函数需要返回多个数据时,可以将[详细]
-
C++11列表初始化 统一了初始化方法
所属栏目:[编程] 日期:2022-07-13 热度:166
我们知道,在 C++98/03 中的对象初始化方法有很多种,请看下面的代码: //初始化列表 int i_arr[3] = { 1, 2, 3 }; //普通数组 struct A { int x; struct B { int i; int j; } b; } a = { 1, { 2, 3 } }; //POD类型 //拷贝初始化(copy-initialization) int[详细]
-
C++11 lambda匿名函数用法解说
所属栏目:[编程] 日期:2022-07-13 热度:118
lambda 源自希腊字母表中第 11 位的 ,在计算机科学领域,它则是被用来表示一种匿名函数。所谓匿名函数,简单地理解就是没有名称的函数,又常被称为 lambda 函数或者 lambda 表达式。 继 Python、Java、C#、PHP 等众多高级编程语言都支持 lambda 匿名函数后[详细]
-
C++11非受限结合体 union
所属栏目:[编程] 日期:2022-07-13 热度:173
在 C/C++ 中,联合体(Union)是一种构造数据类型。在一个联合体内,我们可以定义多个不同类型的成员,这些成员将会共享同一块内存空间。老版本的 C++ 为了和C语言保持兼容,对联合体的数据成员的类型进行了很大程度的限制,这些限制在今天看来并没有必要,[详细]
-
C++11 for循环 介于范围的循环 详解
所属栏目:[编程] 日期:2022-07-13 热度:150
C++ 11标准之前(C++ 98/03 标准),如果要用 for 循环语句遍历一个数组或者容器,只能套用如下结构: for(表达式 1; 表达式 2; 表达式 3){ //循环体 } 例如,下面程序演示了用上述结构遍历数组和容器的具体实现过程(实例一): #include iostream #include[详细]