C++泛型指针的正向与逆向循环读取的改进方法

#include "stdafx.h"
#include <algorithm>
#include <functional>
#include <vector>
#include <iterator>

using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    //双向访问的例子
    char st[11] = "abcdefghij";
    vector<char> a(st, st + 10);
    vector<char>::iterator p = a.begin();    //定义正向泛型指针并初始化
    vector<char>::reverse_iterator ps;    //正义逆向泛型指针
    for (p = a.begin(); p != a.end(); ++p)    //正向访问
    {
        cout << *p << " ";
    }
    cout << endl;
    for (p = a.end(); p != a.begin(); --p)    //使用正向泛型指针逆向访问
    {
        cout << *(p - 1) << " ";
    }
    cout << endl;
    for (ps = a.rbegin(); ps != a.rend(); ++ps)    //使用逆向泛型指针正向访问,使用++运算
    {
        cout << *ps << " ";
    }
    cout << endl;
    for (; ps != a.rbegin(); --ps)    //使用逆向泛型指针逆向访问,使用--运算
    {
        cout << *(ps - 1) << " ";
    }
    return 0;
}

时间: 2024-08-30 04:57:37

C++泛型指针的正向与逆向循环读取的改进方法的相关文章

C++泛型指针的正向与逆向循环读取时报错Expreeeion:vector iterator + offset out of range问题

首先看图 代码: // test.cpp : 定义控制台应用程序的入口点.//C++程序设计//2015-5-4 //STL strandard template libeary #include "stdafx.h"#include <iostream>#include <algorithm>#include <functional>#include <vector>#include <iterator>using name

循环读取文件夹中的图片matlab代码

参考:http://blog.csdn.net/guoxiaojie_415/article/details/21317323:http://blog.csdn.net/qikaihuting/article/details/70244416 本篇博文仅针对于循环读取指定文件夹下的图片文件,不涉及深度和层度遍历. Function函数 function [subdirpath] = RangTraversal(strPath) maindir = strPath; //strPath是strin

jmeter ---json几种读取方式,ArrayList循环读取

在之前写过提取json数据格式的文章,这次对jmeter读取json数据格式进行整理. 举例一个接口的response 格式如下: { "data" : { "device_vec" : [ { "agent_version" : "9.7.0.2225", "android_id" : "e3d699cf01620531", "asset_number" : &qu

python3中 for line1 in f1.readlines():,for line1 in f1:,循环读取一个文件夹

1 #-*- encoding:utf-8 -*- 2 3 class loadDatas(object): 4 def __init__(self): 5 self.path='./data' 6 def load_compare(self): 7 l1={} 8 f1=open(self.path+'/95b.txt',encoding='utf-8') 9 l2={} 10 f2=open(self.path+'/05b.txt',encoding='utf-8') 11 f=open(s

windows 和 linux 上 循环读取文件名称的区别和方法

function showGetFileName($type){ $url="/opt/mobile_system/gscdn"; //另一台服务器映射到linux过来的路径. #判断平台类型 if($type=='android'||$type=='ios'||$type=='windows'){ #拼接类型 $url=$url.'/'.$type.'/assets'; #读取该文件 得到所有文件的对象 $handle=opendir($url.".");//这是

jmeter循环读取数据库表中的数据

先创建一个jdbc请求 请求在结果树正确后,添加一个循环控制器,循环次数定义数据库表查询的数量 variables names设置为col,那么如下变量会被设置为: col_#=2 (总行数) col_1=第1列, 第1行 col_2=第1列, 第2行 添加一个计数器用来坐变量拼接 添加请求引用N,使用函数助手 查看结果 jdbc运行结果 查看循环读取的结果 原文地址:https://www.cnblogs.com/only-love-you-519920/p/9135006.html

halcon 数字转字符串实现循环读取图片

1.将字符转换为数字 tuple_number (StringImageIndex,IntImageIndex) 2.将数字转换为字符 tuple_string (IntImageIndex, '0', StringImageIndex) 循环读取图片 Count:=1 for Index := Count to 5 by 1 tuple_string(Index,'0',StringIndex) filename:='x\\xxx\\xxxxx\\'+StringIndex+'.bmp' re

智能指针的模拟实现shared_ptr 循环引用 定置删除器

auto_ptr与scoped_ptr的实现见本人的上篇博客. 三.shared_ptr shared_ptr的实现原理是通过引用计数来实现,只有当引用计数为1时才释放空间,否则只需将引用计数减1.拷贝和赋值将引用计数加1,具体代码如下: template <typename T> class SharedPtr { public: SharedPtr(); SharedPtr(T* ptr); SharedPtr(const SharedPtr<T>& ap); ~Sha

Callback函数详解(我感觉,回掉函数的本质是函数指针,在业务做循环处理的时候,调用一下通知外部)

2010年的最后一天了,转载一篇自己认为还不错的文章与大家分享.希望对大家有所帮助. 一,回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢? 使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数. 而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利