摘要: 一、传值参数 当初始化一个非引用类型的变量时,初始值被拷贝给变量。此时,对变量的改动不会影响初始值。函数对传值参数的所有操作都不会影响实参。 指针形参 指针的行为和其他非引用类型一样,当执行指针拷贝操作时,拷贝的时指针的值。拷贝之后的两个指针是不同的指针。但因为指针使我们可以间接访问它所指的对象,所 阅读全文
posted @ 2019-09-28 15:26 Dumbledore 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 一、描述 数组是一种类似于vector的复合类型,但与vector不同的是,数组的大小确定不变,不能随意向数组添加元素。 二、定义和初始化 数组声明形如a[b],b必须为常量表达式并且大于0。 默认情况下,数组的元素被默认初始化,默认初始化会令数组含有未定义的值。定义时必须确定数组类型,不能使用au 阅读全文
posted @ 2019-09-21 14:27 Dumbledore 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 描述 标准库类型vector表示对象的集合,其所有对象类型都相同。要想使用vector,需要包含对应的头文件: vector是一个 类模板 ,模板本身不是类和函数,相反可以看作编译器生成类或函数编写的一份说明。编译器根据根据模板创建类或函数的过程称之为 实例化(instantiation) 。 C+ 阅读全文
posted @ 2019-09-20 13:32 Dumbledore 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 描述 迭代器类似于指针类型,迭代器也提供了对对象的间接访问。就迭代器而言,其对象是vector或者string中的元素或者字符。使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另外一个元素。迭代器也有有效和无效之分,有效迭代器指向某个元素或者指向容器中尾元素的下一个位置,其余情况均为无效元素。 阅读全文
posted @ 2019-09-18 18:32 Dumbledore 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 定义与初始化 使用string类型必须包含string的头文件,并且定义在命名空间std中,需要以下代码: 常见初始化string对象的方法 string对象上的操作 1. 读写string对象 string s1 = "hello "; string s2 = "world!\n"; string 阅读全文
posted @ 2019-09-18 16:25 Dumbledore 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 描述 C++ 语言支持分离式编译机制,该机制允许把程序分割为多个文件,每个文件可以独立编译。例如:std::cout和std::cin,它们定义与标准库中,但是却能被我们的程序使用。所以,为了支持该机制,C++ 语言将声明与定义区分开来。 声明(declaration)使得名字为程序所知,如果一个程 阅读全文
posted @ 2019-09-17 13:44 Dumbledore 阅读(1398) 评论(0) 推荐(0) 编辑
摘要: 一、描述 指针是 “ 指向 ” 另外一种类型的复合类型。 与引用(reference)不同之处在于: 1. 指针本身就是一个对象,允许对指针进行复制和拷贝,而且在其生命周期内可以先后指向几个不同的对象; 2. 指针无需在定义是赋予初值,此时它将拥有一个不确定值。但是建议初始化所有指针,这样可以避免一 阅读全文
posted @ 2019-09-16 18:38 Dumbledore 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 在使用qt连接mysql数据库时,总是出现QSqlDatabase: QMYSQL driver not loaded的问题。网上有很多解决办法,比较麻烦的方法是重新编译QT中mysql的驱动文件qsalmysql.dll,还有一种简单方法是把libmysql.dll复制到指定的目录(但是很多都没说 阅读全文
posted @ 2019-06-27 12:16 Dumbledore 阅读(4570) 评论(2) 推荐(1) 编辑
摘要: 隐写 效果 隐写前 隐写后 灰度值直方图差别 部分源码 分析 效果 由于二次隐写的随机性,分析图片存在误差,但能够看出是否被隐写 原图 隐写后 部分源码 相关链接 项目链接 "linzijie1998/lsb_steg_analysis" 参考文档 "隐写与隐写分析" 阅读全文
posted @ 2019-06-18 20:49 Dumbledore 阅读(3383) 评论(0) 推荐(0) 编辑