C++语法知识
mikedadong
世界上美丽的情诗有很多很多,但是最幸福的一定是这一句——执子之手,与子偕老。
展开
-
C++关于符号&的各种含义:
C++关于符号&的各种含义:1、 作为引用声明符所谓引用,其实就是给变量取另外一个名字,其中两个变量任何一个发生变化,另一个随之改变。比如给变量a取另外一个名字,如下:Int a ;Int &b=a; //声明b是一个整形变量的引用变量,它初始化为a;2、 作为取地址运算符,赋值给指针& 变量名//获得该变量的地址Int *p=&a //定义整形指针变量,并将a原创 2015-11-29 21:29:09 · 19986 阅读 · 3 评论 -
宏封装printf 打印出行号、函数名称
#define print_warning(fmt, ...) printf("warning@%s %d: "fmt,__FUNCTION__, __LINE__, ##__VA_ARGS__)#define print_info(fmt, ...) printf("info@%s %d: "fmt,__FUNCTION__, __LINE__, ##__VA_ARGS__)#define ...原创 2019-05-06 19:59:58 · 1300 阅读 · 0 评论 -
字符数组和字符串,char 和string定义的字符串的区别与遍历
字符数组:存在字符的数组字符串 :是使用最频繁的字符数组,是一个特殊的字符数组C++中并没有专门的字符串的类型,一个字符串实际上就是一个字符数组,与普通字符数组不同的是,字符串的结尾有一个字符\0,表示字符串的结束。char 可以定义字符数组,也可以定义字符串char 定义的字符数组char b[]={'h','e','l','l','o'};//生命字符数组,长度为5char定义字符串字符串的优势原创 2016-11-05 20:13:59 · 17767 阅读 · 4 评论 -
数组、指针数组、数组指针、动态数组、数组作为函数参数
数组作为函数参数基本知识点数组不能从函数的return语句返回,数组名其实就是数组的首地址数组作为函数参数任何数组,不论是静态数组还是动态数组,都在内存中连续存储,二维数组以行序优先存储元素参数传递的并不是整个数组的内容(性能低),而是一个同类型的指针,数组作为函数参数传递一维数组的参数作为参数时,一般要另一个参数size 来指示出数组的长度 如void output(const i原创 2016-10-30 11:08:53 · 900 阅读 · 0 评论 -
opencv打开matlab保存的txt文件,并赋值为Mat矩阵
将matlab的矩阵保存为TXT,并用opencv读取,然后保存为Mat类型做图像分类,matlab提取的特征用于训练和测试神经网络,想要用opencv打开,想了非常久,自己都没有做出来,刚开始想用XML文档作为介质进行传输,发现比较困难,网上的方法试了试没有成功,请来了一个大神师兄,不得不佩服,几分钟用txt给我搞定了。代码如下:#include<opencv2\opencv.hpp>#inc原创 2016-04-12 14:29:49 · 3530 阅读 · 2 评论 -
C++ const关键字的使用知识点总结
const的使用const声明一个常量在C++中,有变量和常量之分,常量在程序运行中不允许被改变,主要有两种声明方式。const关键字 const double PI=10;//声明了一个PI常量,并定义为10#define 关键字 #define PI 3.1415 //声明了一个PI常量,并定义为10由于const声明的常量是有类型的,而#define没有,所以const更原创 2016-12-01 13:25:54 · 844 阅读 · 0 评论 -
win10的visual studio 2015 安装opencv3.1,并且编写demo人脸检测
Face Detection Using OpenCVWhat is OpenCVOpenCV (Open Source Computer Vision) is released under a BSD license and hence it’s free for both academic and commercial use. It has C++, C, Python and Java in原创 2016-11-27 16:19:25 · 2049 阅读 · 0 评论 -
十进制转换为十六进制的,求素数的函数
编写了一个子函数,用于实现将十进制转换为十六进制#include<iostream>#include<cstdlib>#include<vector>using namespace std;char *decimalToHEX(int input);/函数声明int main(){// 题目 163 求100 到200之间所有的素数 /* for (size_t i = 10原创 2016-11-14 13:13:11 · 874 阅读 · 0 评论 -
多态:编译时的多态和运行时的多态
编译时的多态#include <iostream>using namespace std;class B{public: void vf() { cout << "this is class B" << endl; }};class D :public B{public: void vf() { cout << "原创 2016-11-17 11:07:16 · 1012 阅读 · 0 评论 -
C++中关于运算符 “.”和“->”的区分
这两个符号都是用于对象成员的引用。1、运算符“.” 用于通过对象名和成员运算符访问对象中的成员 **这种引用方式的一般形式为: 对象名.成员名 如例子: stud1.display( )** 例子中stud1为对象名,而display()为对象stud1的成员函数,通过这种方式,可以实现对类中函数的调用,在调用的时候要注意成员函数是public、private、或者p原创 2015-11-30 20:45:04 · 611 阅读 · 0 评论 -
关于C++中各种运算符的总结和简要介绍
C++共有三类运算符:单目(或一元)运算符、双目(或二元)运算符和三目(或三元)运算符三类。 1、单目运算符:一般位于操作数的前面,如对x取负为-x; 2、双目运算符:一般位于两个操作数之间,如两个数a和b相加表示为a+b; 3、三目运算符:只有一个即 ?:,即为条件运算符,它含有两个字符,分别把三个操作数分开。表1列出了在C++语言中定义的全部运算符,其中优先级数字从小到大对应的优先级别为从原创 2015-11-30 19:58:21 · 1205 阅读 · 0 评论 -
指针笔记
指向数组的指针关于数组首先想要说明的一点是数组明其实就是数组的首地址,比如: #include using namespace std; int main() { int array[10]; cout <用指针指向数组其实就是让指针指向数组的首地址。数组指针的定义: int array[5]; int *p;原创 2015-12-18 13:05:43 · 318 阅读 · 0 评论 -
struct和typedef struct彻底明白了
struct和typedef struct分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来转载 2015-12-01 10:40:43 · 330 阅读 · 1 评论 -
字符串数组与指针问题??
#include<iostream>using namespace std;int main(){char s[]="abcd";char *p;p=s;for (int i = 0; i < 4; i++){ cout<<*(p++)<<endl;}for ( p = s; p < s+4; p++){ cout<< cout<<p<<endl;}原创 2015-12-17 14:34:33 · 312 阅读 · 0 评论 -
伸缩数组的错误用法,对于伸缩数组成员,一定要malloc内存。
##伸缩数组的错误性用法之前学习和应用数组时,在声明数组变量时,长度都是固定的,无法动态的定义数组的长度。如下:int max[]; //错误编译失败。今天在阅读一份代码时,发现使用了伸缩数组,C99标准已经支持了变长数组。如下例子:struct ipmi_loop_req_info { uint8_t resv; /* always 0 */ ...原创 2019-10-06 11:33:45 · 224 阅读 · 0 评论