C++
C++语法,框架,常见坑。
donnieliu
时刻向大牛学习!!!
展开
-
struct和typedef struct彻底明白了
更详细和准确内容参见:C/C++语法知识:typedef struct 用法详解typedef struct OLNode{ int i,j; int data; OLNode *right,*down;}OLNode,*OLink;//结构的对象OLNode, 指向结构的指针*OLink,可以这样写struct OLNode{};OLNode OLNode, *OLin...转载 2020-02-14 21:44:10 · 397 阅读 · 0 评论 -
函数传递的四种方法
由于函数对象有四种写法,所以对应的,函数传递也有对应的四种传递方案c风格函数指针(普通函数)通过函数对象的指针传递//主函数template<class T>void traverse(void (*visit)(T&)){....}// 要传递的函数template<class T>void print(T& e){ cout <<e<<" " ;}//使用traverse(print);operator()(转载 2022-03-06 22:30:04 · 831 阅读 · 0 评论 -
c++中常引用const int &a的介绍
引用引用:简单的讲就是某个变量的别名。对一个变量的“引用”的所有操作,实际上都是对其所代表的(原来的)变量的操作。设有一个变量x,要给它起一个别名y,可以这样写:int x; // 定义变量x int &y = x;// 声明y是一个浮点型变量的引用变量,它被初始化为x声明后,使用x或y代表同一变量。在上述声明中,&是“引用声明符”长相与取地址符相同对引用而言,新定义的引用变量是不申请内存单元的,与它引用的对象共同同一块变量存储单元,正是因为这一特性,在声明一个引用的同转载 2022-03-06 20:04:23 · 888 阅读 · 0 评论 -
C++11 之 std::function
std::function是函数模板类(是一个类);std::bind是函数模板(是一个函数);有的人呢,std::function是模板类,“函数”这两个字都不敢加,我都不知道是为什么,我要把它加上,如果我没有意识到加上就是错误的话,您可以提示我!std::function,std::bind在是C++11中的新特性。包含在#include 中。以前没有这个类的时候,我们在想定义一个回调函数指针,非常的麻烦。我们通常这样的定义:typedef void(*ptr)(int,int),int(*pt转载 2022-03-06 18:59:50 · 520 阅读 · 0 评论 -
C++的静态成员函数指针
先简单的说说非静态的成员函数。非静态成员函数指针的类型:类的非静态成员是和类的对象相关的。也就是说,要通过类的对象来访问变量。成员函数的类型定义为:typedef void (A::*pfunc)();A是一个类,有一个成员函数void test();使用:pfunc p = A::test;示例:#include <iostream> using namespace std; class A { public : void test1() { cout &l转载 2022-03-06 09:53:10 · 1407 阅读 · 0 评论 -
C++11新特性(10)- 容器的cbegin和cend函数
const迭代器先看下面的程序:sum = 0;vector v{1, 2, 3, 4, 5, 6};vector::iterator it = v.begin();while(it != v.end()){ sum += *it; it++;}代码先是取得了vector的迭代器,然后遍历vector求和。再看下面的代码:sum = 0;const vector cv{1, 2, 3, 4, 5, 6};vector::iterator cit = cv.begin();转载 2022-03-04 23:50:50 · 764 阅读 · 0 评论 -
typedef函数指针用法
1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表)char (*pFun)(int);char glFun(int a){ return;}void main(){pFun = glFun;(*pFun)(2);} 第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。 第二行定义了一个函数glFun()。转载 2022-03-05 23:57:16 · 83 阅读 · 0 评论 -
C++头文件用<>还是“” 以及 要加.h还是不加 的问题
1.C++头文件用<>包含还是” “?答:用<>包含,编译器会先在系统目录下搜索;用” ” 包含,编译器会先在用户目录下搜索。所以,如果使用系统标准库,要使用<>来包含头文件;使用自定义头文件用” “包含最好。2.头文件什么时候要加.h什么时候不加?答:关于这个事情的历史原因等等不赘述,直接怼结论了。如果使用的是新的C++标准库,不加 .h。例如#include如果是旧的C++库,很抱歉现在已经不支持了(无奈脸)此外C++可以兼容使用C语言的库,这里有两种转载 2021-07-07 23:44:37 · 1500 阅读 · 0 评论 -
C++关键字之using的的用法总结
1)配合命名空间,对命名空间权限进行管理using namespace std;//释放整个命名空间到当前作用域using std::cout; //释放某个变量到当前作用域2)类型重命名作用等同typedef,但是逻辑上更直观。#include <iostream>using namespace std;#define DString std::string //! 不建议使用!typedef std::string TString; //! 使用typ转载 2021-07-07 09:47:51 · 486 阅读 · 0 评论