随笔分类 -  [002] C/C++

1 2 3 4 5 ··· 9 下一页
cyropto++
摘要:深入浅出cryptoPP密码学库》学习笔记。crypto++库帮助文档:https://www.cryptopp.com/docs/ref/index.html 进制与编码# 以2进制,8进制,10进制,16进制字符串构造整数 Copy Integer Int2("011111101010000b" 阅读全文
posted @ 2022-09-13 17:10 莫水千流 阅读(108) 评论(0) 推荐(0) 编辑
C++ 关于构造函数和this调用的思考
摘要:文中一系列思考和内容引发自以下问题:我需要在一个类的构造函数中调用另一个对象的构造函数,并使用this初始化其中的一个引用成员。 主要遇到的问题: 1. 构造函数的初始化列表中能访问this吗? 很明显c++创建一个对象分为两部分,创建内存和调用构造函数。显然在初始化列表中,当前对象占用的内存已经创 阅读全文
posted @ 2022-09-07 21:50 莫水千流 阅读(263) 评论(0) 推荐(0) 编辑
友元类
摘要:一个类 A 可以将另一个类 B 声明为自己的友元,类 B 的所有成员函数就都可以访问类 A 对象的私有成员。在类定义中声明友元类的写法如下: friend class 类名; 友元类B类的所有成员函数,都能访问A类对象的私有成员; 类 A 将类 B 声明为友元类,则类 B 最好从逻辑上和类 A 有比 阅读全文
posted @ 2022-09-07 16:11 莫水千流 阅读(304) 评论(0) 推荐(0) 编辑
C++ 友元类
摘要:1.在C++中,我们使用类对数据进行了隐藏和封装,类的数据成员一般都定义为私有成员,成员函数一般都定义为公有的,以此提供类与外界的通讯接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统 阅读全文
posted @ 2022-09-07 16:06 莫水千流 阅读(419) 评论(0) 推荐(0) 编辑
How to use a std::function as a C style callback
摘要:How can I use a std::function in a function which expects a C-style callback? If this is not possible, what is the next best thing? Example: // some C 阅读全文
posted @ 2022-09-07 15:21 莫水千流 阅读(47) 评论(0) 推荐(0) 编辑
Effective C++总结
摘要:explicit关键字C++中的explicit关键字只能用于修饰只有一个参数或者是其他参数有默认值的类构造函数, 它的作用是表明该构造函数是显式的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).explicit关键 阅读全文
posted @ 2022-09-07 10:27 莫水千流 阅读(86) 评论(0) 推荐(0) 编辑
断文件的存在性:
摘要:出处:http://www.cnblogs.com/project/archive/2010/12/02/1894494.html 在我们平时的编程时,经常需要判断文件或者目录是否存在,相对来说判断文件的存在性比较简单,目录则比较复杂。 下面就详细的介绍几种方法。 首先关于判断文件的存在性: 一、i 阅读全文
posted @ 2022-09-06 15:48 莫水千流 阅读(34) 评论(0) 推荐(0) 编辑
make_shared
摘要:template <class T, class... Args> shared_ptr<T> make_shared (Args&&... args); Make shared_ptr Allocates and constructs an object of type T passing arg 阅读全文
posted @ 2022-09-05 09:46 莫水千流 阅读(172) 评论(0) 推荐(0) 编辑
C++ 继承详解
摘要:继承语法 继承的一般语法为: class 派生类名:[继承方式] 基类名{ 派生类新增加的成员}; 继承方式继承方式包括 public(公有的)、private(私有的)和 protected(受保护的),此项是可选的,如果不写,那么默认为 private。不同的继承方式会影响基类成员在派生类中的访 阅读全文
posted @ 2022-09-01 13:38 莫水千流 阅读(233) 评论(0) 推荐(0) 编辑
C++ 获取当前时间毫秒数
摘要:在window环境下: 1、精确到毫秒 #include "stdafx.h"#include <windows.h>#include <iostream> using namespace std; int main(int argc, _TCHAR* argv[]){ DWORD time_sta 阅读全文
posted @ 2022-06-29 10:04 莫水千流 阅读(4753) 评论(0) 推荐(0) 编辑
C++的栈空间和堆空间
摘要:https://www.csdn.net/gather_2b/NtDaIg5sMTktYmxvZwO0O0OO0O0O.html 一直都把堆栈放一起,所以很多人会误以为他们的组合是一个词语,就像“衣服”一样简单,其实不然,今天在下就将最近学习总结的一些与大家分享。 一个由C/C++编译的程序占用的内 阅读全文
posted @ 2021-01-26 15:23 莫水千流 阅读(633) 评论(0) 推荐(0) 编辑
CMake 两种变量原理 ZZ
摘要:目录 [TOC] 1、两种变量的定义参考 2、两种变量的作用域原理及使用 1、Normal Variables (1)、包含 add_subdirectory()、function()。(本质是值拷贝) (2)、**包含 include()、macro() **(本质有点类似 c 中的 #inclu 阅读全文
posted @ 2020-09-13 07:16 莫水千流 阅读(244) 评论(0) 推荐(0) 编辑
cmake语法-函数和宏的定义
摘要:cmake语法不仅仅可以适用于 CMakeLists.txt,也适用于 xxx.cmake 文档。 在 OpenCV 的 CMakeLists.txt 中,很多 ocv_XXX() 的函数,都是定义在相应的 xxx.cmake 中。 比如:L116 1 2 3 4 5 6 7 8 9 10 incl 阅读全文
posted @ 2020-09-13 07:03 莫水千流 阅读(2932) 评论(4) 推荐(0) 编辑
cmake函数、宏和模块
摘要:cmake函数function和宏定义macro在某种程度上来说是一样的,都是创建一段有名字的代码稍后可以调用,还可以传参数。 他们的定义如下: macro定义: macro(<name> [arg1 [arg2 [arg3 ...]]]) ... endmacro([name]) function 阅读全文
posted @ 2020-09-13 07:01 莫水千流 阅读(3884) 评论(1) 推荐(1) 编辑
cmake函数、宏和模块
摘要:cmake函数function和宏定义macro在某种程度上来说是一样的,都是创建一段有名字的代码稍后可以调用,还可以传参数。 他们的定义如下: macro定义: macro(<name> [arg1 [arg2 [arg3 ...]]]) ... endmacro([name]) function 阅读全文
posted @ 2020-09-13 07:00 莫水千流 阅读(370) 评论(0) 推荐(0) 编辑
CMake 常用宏分享
摘要:CMake 常用宏分享 介绍 在本人多年的CMake使用过程中,有两个自定义宏被广泛且频繁使用。分别是: 1. GROUP_FILES 根据项目目录结构,分组显示c++文件,实现目录结构与项目结构的对应。 # MACRO GROUP_FILES MACRO(GROUP_FILES src_files 阅读全文
posted @ 2020-09-13 06:55 莫水千流 阅读(1764) 评论(0) 推荐(0) 编辑
设定cmake输出目录
摘要:对于我来说,我使用的是cmake 3.5,但below(set variable)不起作用: set( ARCHIVE_OUTPUT_DIRECTORY "/home/xy/cmake_practice/lib/" LIBRARY_OUTPUT_DIRECTORY "/home/xy/cmake_p 阅读全文
posted @ 2020-09-13 05:47 莫水千流 阅读(1088) 评论(0) 推荐(0) 编辑
C++11新特性:参数绑定——std::bind
摘要:概述 std::bind函数定义在头文件functional中,是一个函数模板,它就像一个函数适配器,接受一个可调用对象(callable object),生成一个新的可调用对象来“适应”原对象的参数列表。一般而言,我们用它可以把一个原本接收N个参数的函数fn,通过绑定一些参数,返回一个接收M个(M 阅读全文
posted @ 2020-08-29 20:00 莫水千流 阅读(2238) 评论(0) 推荐(0) 编辑
std::bind1st和std::bind2nd
摘要:头文件:fuctional std::bind1st和std::bind2nd函数用于将一个二元算子转换成一元算子。 bind的意思是“绑定”,1st代表first,2nd代表second,它们的声明如下: //std::bind1st template <class Operation, clas 阅读全文
posted @ 2020-08-29 19:56 莫水千流 阅读(349) 评论(0) 推荐(0) 编辑
bind1nd,not1,compose1等用法
摘要:binder/not 1-允许为二元仿函数或判断式绑定一个值,从而将那个值固定下来。 2-可以绑定第一个或者第二个参数[二元仿函数会变成一元仿函数]。 比如: bind1st//通过绑定第一个参数,使二元的函数对象转化为一元的函数对象 bind2nd//通过绑定第二个参数,使二元的函数对象转化为一元 阅读全文
posted @ 2020-08-29 19:51 莫水千流 阅读(397) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 9 下一页