关于C++的动态数组

一、动态数组的优点:
动态分配内存,用一个指针传值方便。

二、为什么我要用动态数组?
在程序中遇到数组的传递时,函数中的创建的数组由于在函数作用域
外无效,所以不能有效的传递。

三、动态数组实例:

一维动态数组:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
int main()
{
    //使用new,在程序运行时动态分配空间
    int * arr = new int[10];
    //赋值方法和普通数组通用
    for(int i = 0 ; i < 10 ; i++ )
    {
        arr[i] = i;
    }
    //释放空间
    delete []arr;

    return 0;
}

使用new 和delete时应当注意:
1.不要使用delete来释放不是new分配的内存
2.不要使用delete来释放同一个内存块两次
3.如果使用new[]维数组分配内存,则应使用delete[]来释放
4.如果使用new[]来为一个实体分配内存,则应使用delete(没有方括号)来释放内存
5.对空指针使用delete是安全的

二维动态数组:

两种二维数组开辟空间的方法:
方法1:

1
2
3
4
5
6
7
8
9
    int r,c;//r is rows ,c is cols
    r = 5 ;
    c = 8 ;
    //method 1 to initialize a dynamic-planar arr
        int **arr = new int*[r];
    for (int i = 0 ; i <r ; ++i)
    {
        arr[i] = new int[c];
    }

上面方法的创建的二维数组是不连续的,所以需要进行寻址,
如果要进行赋初值,必须一一赋值,而不能一次用:
arr[0]={0}将arr全部赋值为0。

寻址和赋初值为0:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
    //method 1 to initialize a dynamic-planar arr
   //寻址
     for(int i = 1 ; i < r ; ++i)
     {
          arr[i] = arr[i - 1] + c ;
     }
    //赋初值为0
    for(int i = 0 ; i < r ; i++)
    {
        for(int j = 0 ; j < c ; j++ )
        {
            arr[i][j] = 0;
        }
    }

方法2:

1
2
3
4
5
6
7
8
9
10
11
    //method 2 to initialize a dynamic-planar arr
    int ** arr = new int*[r];
    int size = r*c;
    arr[0]= new int[size];
    for(int i = 1 ; i < r ; i++)
    {
        arr[i] = &arr[0][i*c];
    }
    //using std::fill to fill 0
    std::fill( &arr[0][0], &arr[0][0]+r*c, 0);
    //上面的方法1寻址后即可用此方法填满

二维动态数组空间释放:

1
2
3
4
5
    for(int i = 0 ; i < r ; i++)
    {
        delete [] arr[i];
    }
    delete [] arr;

如果二维动态数组作为返回值或者参数的方法见完整函数:
https://github.com/ghostxiu/justfortest/blob/master/arr.cc

赠友姜浩

 赠友姜浩

脉乡美酒一滴醉,直言真语扰人烦。

江南才俊多腼腆,将士北转霸不言。

炼狱噬魂身百死,醉梦归来战一回。

漫地桂香皆不问,蹄踏北地血无痕。

莫做莺燕逆修心,疯癫一怒惊破天?!

打开计算机的大门,进入OPENGL的世界

第一次接触图像是在研究生前,刚去公司,老板让做了个GIS地图。呃,是cesium(依赖于一个JS库),后面做了一个简单的VR应用。但是至此为止,我仍然对计算机图形学一无所知,现在我就把我遇到过的东西写下来,希望能够帮助到后来者。

去图案书馆借了本计算机图形学(OPGL三维渲染)的书,看起来很新,2016年出版的。看了第一章介绍了OPENGL和物理渲染的区别,以及优势。结果到了第二章就傻眼了!!!作者用的OPENTK开发工具包官网已经打不开了,直接上了半截程序,也不说运行环境。做了以下尝试:
1.继续寻找opentk这个工具包;

2.SharpGL(VS2012或者2010的拓展):结果不支持咱的VS2015

3.Csgl(上了官网一看是2003年的最新版,果断放弃)

最后决定还是用C++吧,网上VS2015+Opengl的配置:

原文地址:http://blog.csdn.net/Jacketinsysu/article/details/49563139

最后我决定放弃手里那本书,换上红宝书和蓝宝书 :

[Dave_Shreiner,_The_Khronos_OpenGL_ARB_Working_Gro

[Richard_S._Wright]_OpenGL_SuperBible_Comprehensi

 

 

 

遇见,是最好的礼物

 遇见,是最好的礼物
一次次的遇见
一回回的错过
为什么我们总还有机会再见
那我就迷信一下
相信我们的宿命里有所羁绊

曾祈求上天多给一些时间于你我
但,
不知是儿时的某次贪玩
或是一不小心的懒惰
总让我错过了幸运

你是一只受伤的鱼儿
我现在只有一个小小的池塘
但我知道等你伤好
必将翱翔于海上

果子的味道很诱人
但我知道
没有成熟前摘下的只有酸涩

喜欢一个人
喜欢和她一起的日子
但我不会什么都依着妳
因为妳还是个孩子
真希望妳可以快快长大

遇见,是最好的礼物
分别,是为了更好的遇见

无题

修于列车之上

又到一年归乡日,频思家中念己人。
天音地泽留不住,唯心畏碍扫前尘!



“畏碍”通"为爱”:
此处两层含义,
一是为了前程扫清障碍,回归世界本源,
二是为了喜欢的人,奔走。
杭州风景很美,但是却不是我的故乡
为了前程,为了梦想
为了喜欢的人
我选择来的到这里
但是不知道,
当我成功时
你是否在我身边?

(No title)

逍遥生

_____________修于公元二〇一六年八月八日                  

总为俗事惹清秋,
九天炽阳妄逍遥。
凤舞氤氲拂晓去,
龙行万里根骨傲。

世风冉冉竹南扰?
红尘纷繁由它去。
烈焰熊熊凡董大,
叮铃咚隆领子妙!

Linux 下解压RAR文件的方法,安装RARlinux

由于Windows下的压缩软件是winrar

为了方便,

所以我们经常会把文件压缩后上传到服务器

下面就是Centos下解压RAR文件的方法

1.默认的yum源中是没有这个软件包的,所以我们去rarlinux的官网去找到适合紫的安装包:

http://www.rarsoft.com/download.htm(比我这边是64位的linux)

2.下载:

wget  http://www.rarsoft.com/rar/rarlinux-x64-5.4.b3.tar.gz

3.安装:

tar -zxvf rarlinux-x64-5.4.b3.tar.gz

cd rar
make

cp unrar /usr/bin/unrar

cp rar /usr/bin/rar

 

4.解压或压缩文件:

a 添加文件到操作文档

例:rar a test.rar file1.txt 若test.rar文件不存在,则打包file1.txt文件成test.rar

例:rar a test.rar file2.txt 若test.rar文件已经存在,则添加file2.txt文件到test.rar中

(这样test.rar中就有两个文件了)

注,如果操作文档中已有某文件的一份拷贝,则a命令更新该文件,对目录也可以进行操作

例:rar a test.rar dir1

c 对操作文档添加说明注释

rar c test.rar

(会出现Reading comment from stdin字样,然后输入一行或多行注释,以ctrl+d结束)

cf 添加文件注释,类似上面的c,不过这个是对压缩文档中每个文件进行注释

cw 将文档注释写入文件

例:rar cw test.rar comment.txt

d 从文档中删除文件

例:rar d test.rar file1.txt

e 将文件解压到当前目录

例:rar e test.rar

注:用e解压的话,不仅原来的file1.txt和file2.txt被解压到当前目录,就连dir1里面的所有文件

也被解压到当前目录下,不能保持压缩前的目录结构,如果想保持压缩前的目录结构,用x解压

k 锁定文档

例:rar k test.rar 锁定文档后,该文档就无法进行任何更新操作了

r 修复文档

例:rar r test.rar

当rar文件有问题时,可以尝试用该命令进行修复(鬼知道有多少用)

s 转换文档成自解压文档

例:rar s test.rar

会生成一个test.sfx的可执行文档,运行它的效果就相当于rar x test.rar,

适合于向没有rar的用户传输文件

t 检测文档

例:rar t test.rar

检测test.rar的完整性,一般压缩完大型文件准备传输前最好用这个命令来确保文件的正确性

x 带路径解压文档中内容到当前目录

例:rar x test.rar

这样解压的话,dir1就会保持原来的目录结构

centos6 X86 一键VPN安装脚本

1. 下载vpn(CentOS6专用)一键安装包
该教程仅适用于32位Centos6系列。
#wget http://www.wolfmark.org/bt/vpn_centos6.sh#chmod a+x vpn_centos6.sh

 
2. 运行一键安装包
下载后,即可运行VPN一键安装包:
#bash vpn_centos6.sh
会有三个选择:
1. 安装VPN服务2. 修复VPN3. 添加VPN用户
首先输入1,回车,VPS开始安装VPN服务. VPN服务安装完毕后会默认生成一个用户名为vpn,密码为随机数的用户来。
3. 添加VPN用户
同样运行刚才的安装包:
#bash vpn_centos6.sh
选择3,然后输入用户名和密码,OK
4. 修复VPN服务
如果VPN拨号发生错误,可以试着修复VPN,然后重启VPS
#bash vpn_centos6.sh
选择2,然后reboot
5. 常见错误
VPN连接过程可能有很多错误,下面是一些VPN连接错误的原因: 691错误
用户名或密码错误。
619错误
上层路由器不支持GRE协议。您所在网络的路由器不支持,请更换路由器,或者使用L2TP连接。
742错误
服务器不支持加密连接。取消加密即可。
错误678、错误800
服务器未开启vpn服务或远程计算机无响应。

好久不见,妳声依然

好久不见,妳声依然

——————————————修 于公元二零一六年五月四日晨

夜畔喧闹,

嘈杂的操场上的男男女女。

叽叽喳喳的喧闹声,

混杂着震耳欲聋的重金属音乐声,

 但这喧闹与我无关,

我只想与她共度良宵。

少女起舞,

广场上年轻的女孩们,

顶着娇好的身段,

翩翩起舞!

生疏的动作,

也难掩她们青春的婀娜绚烂。

然这绚烂 与我无缘,

我只愿今夜与她共同唱响。

空谷幽然,

漆漆的不见指上声音,

好久不见,

你却依旧靓丽修长。

不知   是我的声音太过刺耳,

惊得对面小狗狂吠不止;

还是  你的窈窕婉转,

让它追随,

高亢的吟唱着赞美你的音符。

远处模糊的人影,

我猜是对小情侣,

不知   此刻你们是否正对着 月亮,

诉说着心声?

我也曾想,

和一个曼妙的少女,

就这样,

飘摇在云中,

漫步于山上。

渐渐地,

             那人影,

                                        又像是成了几个……

踌躇满志的年轻人,仰望着明天,

 谱写一个个美丽的神话。

流浪的幽影,

也请抓住你的梦想,

不知,

何时 可以,

邀你倩影      随我 共唱?!

东南顾

东南顾

——————脩

难挡夏惠着薄衫,寒冰不化堪为友?
狂风卷土惹人红,白首野狗是荒城。
——————————再见,寒霜,你好白银!
野树荒村停不见,千里黄沙召吾还。
酒肉穿肠最不觉,长亭染血恨为来!
————-———————————北疆望一亲友
清明小雨雾依稀,寻花问路种石头?
路途勤恳累车夫,山峦迭起不及足。
                                     _____________________清明遇长安友人招待
辗转反侧眠不能,年轻少学在唇齿。
  汤倒覆辙何其难!江东才子笑嫣然?
                                  —————————————————–杭州复试
庶子不知情为难,唯有俯首惘东南。