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

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

首页 / 操作系统 / Linux

C++11中的Tuple和可变参数模版

C++11中的Tuple和可变参数模版

C++11中的tuple是一个n元的可变元组,它相当于有n个元素的结构体,只不过这个结构体的成员都是匿名的,tuple中提供了一个get()方法来获取某个下标对应的元素的值。另外可以通过make_tuple()方法来构造一个tuple对象。具体用法如下我们知道tuple中的元素个数是不确定的,而每个元素的类型通过模板参数指定,那么tuple是如何做到这些的呢?答案就是使用可变参数模板。在C++中,我们使用过printf函数,它的参数就是可变的,在C++11...
C++11的关键字nullptr

C++11的关键字nullptr

nullptr是为了解决原来C++中NULL的二义性问题而引进的一种新的类型,因为NULL实际上代表的是0。观察如下代码在C++98中,NULL可以代表0,这样对于如上两个函数来说,就会造成二义性了。那么为了解决这种二义性,在C++11中就引入了一个新的关键字nullptr来代表空指针,并且nullptr本身不能代表零。C++11新特性:Lambda函数(匿名函数) http://www.linuxidc.com/Linux/2013-12/93367p2...
C++11的auto和decltype关键字

C++11的auto和decltype关键字

今天要介绍C++11中两个重要的关键字,即auto和decltype。实际上在C++98中,已经就有了auto关键字,只不过在C++98中auto表示的是临时变量的语义,而在C++11中auto表示自动类型推导,如下auto关键字可以从表达式中推导出变量的类型,这样就大大简化了编程人员的工作。而且auto是在编译时对变量进行了类型推导,所以不会对程序的效率造成影响,另外auto也不会对编译速度造成太大影响,因为编译时本身也要右侧推导后判断是否与左侧匹配。另...
为你的 Android 应用增加本地搜索功能

为你的 Android 应用增加本地搜索功能

介绍搜索是各种应用程序的一个基本功能需求. 在我们的案例中,我们拥有一个餐厅的应用程序,需要它能让用户可以方便和快速的搜索菜品清单,找到他们想要的东西. 在本文中,我将会描述我在对UI进行持续的维护时先我们现有的餐厅应用程序加入本地搜索功能过程. 我会详细讲述我选择的UI方案及其理由, 此外还涉及到像activity中加入一个GestureOverlayView.图 1: 餐厅应用程序的搜索视图截图搜索对于搜索这个功能,在我们开始编写代码之前还需要做诸多设...
Android仿UC浏览器左右上下滚动功能(附源码)

Android仿UC浏览器左右上下滚动功能(附源码)

本文主要讲解下Android仿UC浏览器左右上下滚动功能的实现及源码下载。本文要解决在侧滑菜单右边加个文本框,并能实现文本的上下滑动和菜单的左右滚动。这里推荐可以好好看看android的触摸事件的分发机制,这里我就不详细讲了,我只讲讲这个应用。要实现的功能就像UC浏览器(或其它手机浏览器)的左右滚动,切换网页,上下滚动,拖动内容。目录:一、功能要求与实现二、布局与代码三、原理与说明本文源码下载--------------------------------...
Android侧边栏的自定义实现(附源码)

Android侧边栏的自定义实现(附源码)

本文介绍Android侧边栏的自定义实现,要实现手指在手机上向左或向右移动时,能相应的移动左右两个视图。通过自定义来实现,不借助第三方插件。实现的思路很简单,通过判断手指滑动的距离和速度来决定是否要滚动显示菜单项.(左边图片)先来看看效果:目录:一、实现思路二、代码清单三、效果与说明本文源码下载------------------------------------------分割线-------------------------------------...
jQuery实现相同内容合并单元格

jQuery实现相同内容合并单元格

Web前端开发的时候经常会遇到要做表单的页面或者做一些表格的效果如相同内容要同一个单元格里面显示,一般的方法是table里面在套table但是这种方法会增加页面的负担影响页面加载速度但是如果用DIV有不好控制写的css样式要很多,那怎么办呢?我们就中和下利用JQuery来和他一个table里面相同内容的单元格。这里代码跟大家分享下,希望对大家有用,如下:头部jQuery代码代码如下:<script type="text/javascript">...
C++拾遗--构造函数

C++拾遗--构造函数

前言对一个类而言,构造函数恐怕是最重要的一个成员函数了。关于构造函数的细节繁多,并且随着新标准的提出,构造函数有了新的特性。本文来集中探讨下构造函数的那些鲜为人知的一面。构造函数构造函数的作用众所周知:在类的对象被创建时,控制对象的初始化和赋值。构造函数的一般形式:类名(arg_list);其中arg_list是用逗号隔开的参数列表。特点:无返回值类型,且不可加const限制。默认构造函数需要特别指出,无参的构造函数是默认的,有参但都有默认参数的构造函数也...
C++拾遗--lambda表达式

C++拾遗--lambda表达式

前言 有时,我们需要在函数内部频繁地使用某一功能。此时,我们可以把这种功能写成一个独立的函数。而实际上,这个新的函数很可能是不需要在其它的地方进行调用的。我们想限定它的作用范围,最好是仅限于当前函数。而函数的内部是不可以重新定义其它的函数的。为了解决这个问题,在新的标准中,C++引入了lambda表达式(lambda expression)的概念。有了lambda表达式,C++向一门完美的语言又进了一大步。总的来说,lambda表达式极大地提升了C++的...
如果使用32位整型会溢出,那么是否可以使用一个40位结构体代替64位长整型?

如果使用32位整型会溢出,那么是否可以使用一个40位结构体代替64位长整型?

问题:假如说,使用32位的整型会溢出,在不考虑使用长整型的情况下,如果我们只需要表示2的40次方范围内的数,是否可以利用某些40位长的数据类型来表示呢?这样的话,每个整型数就可以节省24位的空间。如果可以,该怎么做?需求是:我现在必须处理数以亿计的数字,所以在存储空间上受到了很大的限制。回答:可以是可以,但是……这种方法的确可行,但这么做通常没什么意义(因为几乎没有程序需要处理多达十亿的数字):#include<stdin...
C++拾遗--智能指针

C++拾遗--智能指针

前言内存泄露是常见的问题,新标准中的智能指针从根本上解决了这个问题。所谓的智能指针,其智能性体现在:当没有对象使用某块动态分配的内存时,那就自动释放这片内存。智能指针下面这段程序可耗尽内存,导致程序崩溃。#include <iostream>#include <Windows.h>using namespace std;int main(){while (1){ //每次动态分配80M内存 double *p = new doubl...
线程池的介绍及简单实现

线程池的介绍及简单实现

服务器程序利用线程技术响应客户请求已经司空见惯,可能您认为这样做效率已经很高,但您有没有想过优化一下使用线程的方法。该文章将向您介绍服务器程序如何利用线程池来优化性能并提供一个简单的线程池实现。线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是...
<< 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 >>