C++简介,简介

罗绍威,字端已,魏州贵乡人,唐末五代军阀,魏博节度使罗弘信之子。

(1)简介,简介

1、什么是python

   引用官方的话:Python是一种易于学习,强大的编程语言。它具有高效的高级数据结构,并通过简单而有效的方法来进行面向对象编程。Python的优雅语法和动态类型,以及其解释性质,使其成为在大多数平台上的许多领域的脚本和快速应用程序开发的理想语言。

  这段话怎么理解呢?我们知道,任何编程语言的目的都是编写程序,而我们又是通过程序让计算机干活的。比如,播放一个mp3,玩一局吃鸡游戏,等等。计算的的大脑(CPU),通常是不能直接识别我们编写的程序,它只认机器指令。本质上,任何编程语言最终都会“翻译”成CPU可以执行的机器指令。跟据“翻译”的方式不同,编程语言可以分为两大类:编译型、解释型。Python是一种解释型的语言。(1)

  不同的编程语言,干同一个活,编写的代码量,差距是很大的。形象的理解就是,做同一件事,你可能用C语言得写1000行代码,而用C#只要写100行,用Python则可能只要10行。所以Python是一种高级的语言。 (2)

  需要注意的是,代码少的代价是运行速度慢,C程序运行1秒钟,C#程序可能需要5秒,而Python程序可能就需要20秒。Python程序通过Python解释器执行,执行效率比较低。

 

2、Python能做什么

  各行各业到处都是Python的身影,可以做网站(比如
YouTube、豆瓣),可以做图片处理,可以做科学计算,也可以爬虫,甚至于游戏,学好Python后不用担心没有用武之地,Google就大量的在使用。

  当然Python也有它不善长做的,比如超做系统,比如火箭控制系统等。我所说的不善长并非说不能,要记住很个语言都有自己善长的和不善长的,在合适的情况下选择合适的语言这才是程序员需要关心的。

 

 

3、Python的版本

  Python有两个大版本:一个是不2.x,一个是3.x。这两个版本是互相不兼容的,关于两者之者的区别我后面会提到。事实上2012的时候说Python2将于2015年不再支持,2014年改成了2020年,也许2.x说终结还过早,但现在注流的第三方库大多都兼容了3.x,本系列的教程是基于3.6。

  MIT的计算机第一门课一直在灌输两个道理:计算机程序是写给人看的,恰好能够运行;软件设计其实就是对于抽象复杂度的控制。这很有道理,哈哈,人生苦短,我用Python。

 

注(1):解释型的缺点是代码不能加密

注(2):高级编程语言通常都会提供一个比较完善的基础代码库,让你能直接调用。除了内置的库外,Python还有大量的第三方库。

1 、什么是 python
引用官方的话:Python是一种易于学习,强大的编程语言。它具有高效的高级数据结构,并通过简单而有效…

C++简介,简介

分块简介,简介

 

分块:顾名思义,把一个区间分成不同的块,然后由原来的每个点暴力转换为每个块的暴力,这样就大大减小了时间复杂度

 

可能涉及的几个词语解释:

区间:数列中连续一段的元素

区间操作:将某个区间[a,b]的所有元素进行某种改动的操作

块:我们将数列划分成若干个不相交的区间,每个区间称为一个块

整块:在一个区间操作时,完整包含于区间的块

不完整的块:在一个区间操作时,只有部分包含于区间的块,即区间左右端点所在的两个块

 

精品博客

分块:顾名思义,把一个区间分成不同的块,然后由原来的每个点暴力转换为每个块的暴力,这样就大大减小了时间复杂度…

Block 简介,block简介

1、Blocks简介

Block字面意思就是代码块 iOS4.0、Mac OS X
10.6开始Apple引入的特性

Block是Objective C语言中的对象
但是与NSObject有所区别 Block是特殊的Objective C对象

 

Block 对象提供了一个使用 C 语言和 C 派生语言(如 Objective-C 和
C++)来创建表达式作为一个特别的函数。在其他语言和环境中,一个block对象有时候被称为“闭包(closure)”。在这里,它们通常被口语化为”块(blocks)”,除非在某些范围它们容易和标准
C 表达式的块代码混淆。

对于闭包(closure),有很多定义,其中闭包就是能够读取其它函数内部变量的函数

“^”符号可以称为caret [‘kærət] 也叫脱字符 插入符 

 

图片 1

 

返回值(^块对象名称)(参数列表类型) = ^(参数列表){块对象中的代码};

 

2、用处

 

1)简单的回调过程,不用再实现并调用某个函数 (UIView动画)

2)代码简洁,减少冗余代码

3)与GCD结合使用 爽爆了 

使用:UIView动画、presentViewController、ASI 

 

3、声明和创建Block

声明Block引用 无参无返回 无参有返回
有参无返回 有参有返回

定义Block

使用Block

typedef声明 简称typedef
为现有类型创建一个新的名字,或称为类型别名,在结构体定义,还有一些数组等地方都会用到 

返回值或参数为Block的

snippet 代码片段

 

4、Block对变量存取管理

1)局部变量

局部变量,在Block中只读。Block定义时copy变量的值,在Block中作为常量使用,所以即使变量的值在Block外改变,也不影响它在Block中的值

 

2)__Block修饰的变量

如果要在block内修改block外声明的局部变量,那么一定要对该变量加__block标记

 

3)Static修饰符的或全局变量

因为全局变量或静态变量在内存中的地址是固定的,Block在读取该变量值的时候是直接从其所在内存读出,获取到的是最新值,而不是在定义时copy的常量.

 Block变量,被__Block修饰的变量称作Block变量。
基本类型的Block变量等效于全局变量或静态变量 但对象的block变量不会

 

5、Block的内存管理

非ARC下

Block是默认建立在栈上, 所以如果离开方法作用域, Block就会被丢弃

Block的copy、retain、release操作 
不同于NSObject的copy、retain、release操作:

只要实现一个对周围变量没有引用的Block,就会显示为是NSGlobalBlock

如果其中加入了对局部变量的引用,就是NSStackBlock

如果你对一个NSStackBlock对象使用了Block_copy()或者发送了copy消息,就会得到NSMallocBlock

 

1)NSGlobalBlock:retain、copy、release操作都无效;

2)NSStackBlock:retain、release操作无效,必须注意的是,NSStackBlock在函数返回后,Block内存将被回收,即使retain也没用。

容易犯的错误是[mutableAarry
addObject:stackBlock],(补:在ARC中不用担心此问题,因为ARC中会默认将实例化的Block拷贝到堆上)在函数出栈后,从mutableAarry中取到的stackBlock已经被回收,变成了野指针。

正确的做法是先将[stackBlock copy]到堆上,然后加入数组:[mutableAarry
addObject:[[stackBlock copy]
autorelease]]。支持copy,copy之后生成新的NSMallocBlock类型对象。

3)NSMallocBlock支持retain、release,虽然retainCount始终是1,但内存管理器中仍然会增加、减少计数。copy之后不会生成新的对象,只是增加了一次引用,类似retain;

4)Block_copy与copy等效,Block_release与release等效;

5)对Block不管是retain、copy、release都不会改变引用计数retainCount,retainCount始终是1;

6)尽量不要对Block使用retain操作,不方便管理。

Block的使用:UIView动画、presentViewController、ASI

 

6、Block对objc对象的内存管理

staticObj、globalObj、instanceObj、localObj、blockObj多种类型obj对象

主要是block被copy时其块中用到的变量的引用计数

1)非ARC

globalObj和staticObj在内存中的位置是确定的,所以Block
copy时引用计数不会改变。

instanceObj在Block
copy时并没有直接让instanceObj对象本身引用计数加1,但却让self引用计数加1。所以在Block中可以直接读写instanceObj变量。 

localObj在Block copy时,系统自动增加其引用计数。

blockObj在Block copy时,引用计数也不会改变。

使用__block避免循环引用 __block 类 *对象 = self

 

void(^block)(void)= ^{

[blockSelf doSomething];

};

 

7、循环引用retain cycle

循环引用指两个对象相互强引用了对方,即retain了对方,从而导致谁也释放不了谁的内存泄露问题。如声明一个delegate时一般用assign而不能用retain或strong,因为你一旦那么做了,很大可能引起循环引用

 

释放second 在fist delloc中释放 fist的delloc什么时候执行呢 ?

fist引用计数为0时执行 ,然而现在即便是将fist从window.rootViewController上卸载下来
即释放一次 却发现second还保留着first的一次引用 到头来还是要释放second
形成了delegate版本的retain cycle 即循环引用

 

释放_pBlock 在viewController delloc中释放 delloc什么时候执行呢?

viewController引用计数为0时执行 ,然而现在即便是将viewController从window.rootViewController上卸载下来
即释放一次 却发现_pBlock还保留着viewController的一次引用
到头来还是要释放_pBlock 形成了block版本的retain cycle 即循环引用

 

Block的内存管理

ARC下

在ARC下, 以下几种情况, Block会自动被从栈复制到堆:

1.被执行copy方法

2.作为方法返回值

3.将Block赋值给附有__strong修饰符的id类型的类或者Blcok类型成员变量时

4.在方法名中含有usingBlock的Cocoa框架方法或者GDC的API中传递的时候.

 

Block中的对象的内存管理

ARC下

只有在使用local变量时,block会复制指针,且强引用指针指向的对象一次。其它如全局变量、static变量、block变量等,block不会拷贝指针,只会强引用指针指向的对象一次。

block的循环引用,因为block在拷贝到堆上的时候,会retain其引用的外部变量,那么如果block中如果引用了它的宿主对象,那很有可能引起循环引用。如:self.myblock
= ^{[self doSomething];};

使用__weak避免循环引用

 

Tips:

内存主要分为

1.栈 – 由编译器自动分配释放  里面的变量通常是局部变量 函数参数等

2.堆 – 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收
alloc

3.全局区(静态区
static),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-
程序结束释放 static

People *p;  People *p2 = nil;

4.另外还有一个专门放常量的地方。- 程序结束释放  NSString *lastName =
@“xue”;

lastName = @“dkjs”;

5、方法区

 

简介,block简介 1、Blocks简介
Block字面意思就是 代码块 iOS4.0、Mac OS X 10.6开始Apple引入的特性
Block是Objective C语言中的对象 但是与NSObje…

888年,罗绍威被任命为魏博节度副使。898年,继任节度使。后升为检校太傅、兼侍中、长沙郡王。904年,罗绍威因营建洛阳太庙有功,加检校太尉、进封邺王。

C++ 简介

  C++是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的变成语言,支持过程化编程、面向对象编程和泛型编程。被认为是一种中级语言。是C的一个超集,事实上任何合法的C程序都是合法的C++程序。

  注:使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。

905年,罗绍威在宣武节度使朱温的援助下,诛杀魏博牙兵,根除了延续二百年的牙兵之患。但是,自己也是元气大伤,只得依附朱温。

面向对象程序设计:

  C++
完全支持面向对象的程序设计,包括面向对象开发的四大特性:封装、抽象、继承、多态。

后梁建立后,罗绍威被加封为守太傅、兼中书令,深受梁太祖朱温信任。

标准库

  标准的 C++ 由三个重要部分组成:

  •   核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
  •        C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
  •   标准模板库(STL),提供了大量的方法,用于操作数据结构等

910年,罗绍威病逝,年仅三十四岁,在镇十七年。追赠尚书令,谥号贞庄。

学习 C++

  学习 C++,关键是要理解概念,而不应过于深究语言的技术细节。

 

C++ 简介
C++是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的变成语言,支持过程化编程、面向对象编程和泛…

1人物生平节度魏博

888年,魏博镇牙兵作乱,杀死节度使乐彦祯与继任留后赵文建,推立罗弘信为留后。不久,唐昭宗继位,任命罗弘信为魏博节度使,并任命其子罗绍威为节度副使、加左散骑常侍。此后十年中,朝廷不断的为罗绍威加官进爵。

898年,罗弘信病逝,魏博军共推罗绍威为留后。唐昭宗得知后,正式任命罗绍威为魏博节度使。899年,幽州节度使刘仁恭兴兵十万攻打魏博,屠灭贝州后,进兵魏州。罗绍威不敌,遣使向宣武节度使朱温求救。朱温派大将葛从周前往救援,在内黄击败幽州军。随后,葛从周又与魏博军一起攻打沧州,夺取德州,于老鸦堤再次击败幽州军。同年,罗绍威又被加为同平章事。

903年,罗绍威升为检校太傅、兼侍中、长沙郡王。

904年,唐昭宗迁都洛阳,命各藩镇修治宫殿。罗绍威因营建太庙有功,加检校太尉、守侍中,进封邺王,赐号“忠勤宣力致理功臣”。

夷灭牙兵

魏博牙兵从首任节度使田承嗣时兴起,到罗绍威时已经二百年,势力庞大,骄横无比,强取豪夺,违犯法令,官员不能制止。牙兵还经常发动兵变,驱逐、杀死节度使。史宪诚、何全皞、韩君雄、乐彦祯等人都是由牙兵推立的。罗绍威苦于牙军以往形成的弊病,虽以财货收买姑息迁就,但内心仍旧非常不满。

905年,魏博牙将李公佺预谋叛乱,被罗绍威察觉。李公佺焚毁府舍,大肆剽掠之后,逃往沧州。

李公佺之乱后,罗绍威更加忧惧,派亲信杨利言向朱温求助,密谋诛除牙军。

朱温于是派李思安会合魏博军一起攻打沧州。此时,朱温的女儿病逝,朱温便派长直军校马嗣勋挑选一千精兵暗藏兵器,以“助葬”的名义进入魏州。

906年正月五日,朱温率兵渡河,自称要到沧州督战,但引起魏博牙兵的怀疑。十六日,罗绍威率家奴数百与马嗣勋一起攻击牙兵。当时留在城中的牙兵一夜之间全部被杀光。次日,朱温到达魏州。

当时攻打沧州的两万魏博军,闻听城中巨变,拥立大将史仁遇退保高唐。一时之间,魏博六州,尽皆反叛。朱温历时半年,方才将叛乱一一平定。

牙兵之患虽然被根除,但魏博实力也被大大削弱,罗绍威从此只能依附朱温,心里非常后悔。

依附后梁

同年九月,朱温再次攻打沧州,屯兵于长芦,命罗绍威负责数十万梁兵的补给,魏博实力更加衰弱。

907年,幽州刘守光联同河东军一起攻破潞州,朱温只得从长芦回军。路过魏州时,朱温旧病复发,留在魏州养病。罗绍威害怕朱温吞并自己,趁机对朱温道:“如今天下都跟梁国为敌,是因为唐朝还在。唐朝也该灭亡了,您还是趁早取代它吧。”朱温大喜,返回京师准备篡位。不久,朱温称帝,改元开平,任命罗绍威为守太傅、兼中书令,并赐“扶天启运竭节功臣”称号。

朱温称帝后,定洛阳为西都。罗绍威奉命重修五凤楼、朝元殿,奢华异常。朱温大喜,赐其宝带、名马。

同年,刘守光囚禁父亲刘仁恭,与其兄刘守文关系破裂。刘守文在罗绍威的书信劝说下,以沧州之地投降朱温。朱温大喜道:“我多次攻打都不能破城,如今罗绍威一封书信,胜过我十万兵马。”不久,朱温又加罗绍威为守太师、兼中书令,食邑万户。

英年早逝

909年,罗绍威认为魏博长年没有用兵,愿意在安阳淇门伐木造船,并沿黄河每年运粮百万石供应京城。朱温便派部将程厚、卢凝监督造船之事。

不久,罗绍威得风痹病,上表道:“魏博从前是大镇,多受外敌侵扰,请您派一个有功大臣镇守。我愿意告老还乡。”朱温对罗绍威的使者道:“你赶快回去,告诉邺王,一定要养好身体。如果他有什么意外,我一定会保他子孙世代富贵。我如今虽命罗周翰管理府事,还是希望他赶快病愈。”

910年,罗绍威病逝,年仅三十四岁。朱温得知后,辍朝三天,追赠其为尚书令,谥号贞壮。

2轶事典故铸成大错

唐朝末年,魏博牙军势力庞大,骄横无比,经常发动兵变,驱逐、杀死节度使。罗绍威担任节度使时,牙军李公佺作乱。罗绍威派亲信臧延范向宣武节度使朱温求救。朱温趁女儿办丧事之机,派七万人马诛杀八千魏博牙军。这使整个魏博的军队都恐惧起来,许多人起来反叛。一直到了第二年,散据在魏博各地的反叛势力才得以平息。

朱温的军队在魏博半年,罗绍威供给的钱财上亿,杀了牛羊近七十万,粮草无数,他们离开时,又送给钱百万。虽然罗绍威借助朱温除去了自己的心腹大患,但魏博从此衰弱。罗绍威非常后悔,对人道:“把魏博六州四十三县的铁聚集起来,也铸不成这么大的错!”

叔事罗隐

大诗人罗隐到魏州见罗绍威时,写了一封书信,自叙家世,称罗绍威是自己的侄子。邺王府官吏都非常生气,道:“罗隐一介布衣,竟敢视大王为侄子,实在无礼。”罗绍威却道:“罗隐名满天下,素来瞧不起王公贵族,现在他能到我这里,让我做他的侄子,这是我的荣幸。”于是,罗绍威为罗隐举行隆重的欢迎仪式,亲自出城迎接,对他十分恭敬。等到罗隐要走时,罗绍威又写信给吴越王钱镠,称他是自己的叔父。

碾驴鞍判

有一次,一人在官府门前街道当中为驴整鞍,恰巧一辆牛车驶来,把放在地上的驴鞍碾坏了,这人火冒三丈,出手就殴打赶牛车的人。告到官府后,罗绍威没有采取官府办案的一般程序,而是提笔用诗文作判决:“邺城大道甚宽,何故驾车碾鞍?领鞴驴汉子科决,待驾车汉子喜欢!”大家都认为这判决用词诙谐,但道理讲得恳切、恰当。

3人物评价

《旧唐书》:威性明敏,达于吏道。伏膺儒术,招纳文人,聚书至万卷。每花朝月夕,与宾佐赋咏,甚有情致。

《旧五代史》:①绍威始为唐雄,据魏地,当土德之季运,倡梁祖以强禅,在梁则为佐命也,在唐则岂得为忠臣乎!②绍威形貌魁伟,有英杰气,工笔札,晓音律。性复精悍明敏,服膺儒术,明达吏理。好招延文士,聚书万卷,开学馆,置书楼,每歌酒宴会,与宾佐赋诗,颇有情致。

4个人作品

罗绍威着有《偷江东集》五卷。

《全唐诗》录有罗绍威诗二首:《柳》、《白菊》。

5家庭成员先世

高祖:罗祖秀,魏州军校。

曾祖:罗珍,魏州军校。

祖父:罗让,魏州军校。

父亲:罗弘信,魏博节度使,检校太尉,临清王。

子女

长子:罗廷规,官至司农卿,娶安阳公主,又娶金华公主。

次子:罗周翰,继任魏博节度使,后改任宣义军节度使,娶寿春公主。

三子:罗周敬,历任宣义军节度使、忠武军节度使、秘书监、光禄卿,娶晋安公主。后唐时,又任匡国军节度使。

四子:罗周允,曾任保大军行军司马。

6史籍记载

《旧唐书·卷一百八十一·列传第一百三十一》

《新唐书·卷二百一十·列传第一百三十五·藩镇魏博》

《旧五代史·卷十四·列传四》

《新五代史·卷三十九·杂传第二十七》

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图