C++
LOVETEDA
这个作者很懒,什么都没留下…
展开
-
Alignment
One of the low-level features of C++ is the ability to specify the precise alignment of objects in memory to take maximum advantage of a specific hardware architecture. By default, the compiler aligns...转载 2020-01-19 18:27:16 · 538 阅读 · 0 评论 -
c++核心:小心条件变量的陷阱
原文:http://www.modernescpp.com/index.php/c-core-guidelines-be-aware-of-the-traps-of-condition-variables条件变量支持一个很简单的功能,一个线程准备好数据,然后向另外一个线程发送通知,通知另一个线程处理这些数据.为什么有可能会很危险呢?不要无条件等待有这样的一个规则:一个没有条件(cond...翻译 2019-07-15 11:07:43 · 1512 阅读 · 0 评论 -
(代码) 后缀数组+lcp的c++实现
suffix array后缀数组一般用于字符串匹配问题当中,一般来说可以用suffix tree解决的字符串匹配问题用suffix array都可以解决.主要参考了geeksforgeeks上关于后缀数组和lcp(longest common prefix)的教程.https://www.geeksforgeeks.org/suffix-array-set-2-a-nlognlogn-al...原创 2019-06-24 15:24:42 · 1454 阅读 · 0 评论 -
C++ priority_queue用法
以上大多摘自c++官网优先队列是一种容器适配器。它的第一个元素总是包含元素的最大值。优先队列类似于堆,可以随时插入新的元素,只有堆中最大的元素可以被访问(优先队列队首元素)。优先队列属于容器适配器,即优先队列本身也封装了容器,并提供了一些接口来访问成员。优先队列封装的容器必须支持随机访问,并且支持empty(),size(),front(),push_back(),pop_back()...原创 2019-05-26 21:21:42 · 1830 阅读 · 0 评论 -
学习笔记:C++右值引用
之前阅读C++官方文档的时候,经常看到类似于这样的函数原型:void f(string&& s);之前不知道两个&&是什么意思,还以为是引用的引用,类似于二级指针的东西。。。。。。后来参考了这篇文章https://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-...原创 2019-05-13 14:51:03 · 149 阅读 · 0 评论 -
c++11的右值引用和移动语义(Move semantics)
最近接触了c++很多的概念,什么拷贝构造函数、移动构造函数、左值、右值、左值引用、右值引用等等,学习的过程好像渡劫,网上的很多博客要么就是介绍的很模糊,要么就是知识点不全。不过好在读过了这篇文章之后https://www.cprogramming.com/c++11/rvalue-references-and-move-semantics-in-c++11.html对于这些概念有了一个较为...原创 2019-05-15 18:55:47 · 436 阅读 · 0 评论 -
C++11 Lambda表达式
C++11的一大亮点就是引入了Lambda表达式。利用Lambda表达式,可以方便的定义和创建匿名函数。对于C++这门语言来说来说,“Lambda表达式”或“匿名函数”这些概念听起来好像很深奥,但很多高级语言在很早以前就已经提供了Lambda表达式的功能,如C#,Python等。今天,我们就来简单介绍一下C++中Lambda表达式的简单使用。声明Lambda表达式Lambda表达式完整的声...转载 2019-04-01 11:34:10 · 106 阅读 · 0 评论 -
记录遇到过的一个坑:C++基类析构函数写成虚函数
之前写了一个C++的程序,类似于是这样的框架:#include<iostream>using namespace std;class BaseClass{public: virtual void output(){ cout<<"BaseClass"<<endl; }};class DerivedClass:public BaseCl...原创 2019-03-22 15:23:54 · 1333 阅读 · 0 评论 -
p&(-p) Lowbit(p)
转载自 https://blog.csdn.net/qq_38735931/article/details/81285345 看了线段树的代码的时候看到这个,一开始以为是逻辑判断,但是解释不通,就搜了下,发现是按位与运算。。。Lowbit(x)是一个求该表达式的函数 int Lowbit(x) { return x&(-x); } 总...转载 2019-01-07 15:51:05 · 234 阅读 · 0 评论 -
同态加密库HElib快速入门
HElib是IBM用C++写成的一个开源的同态加密库。至于同态加密是什么,网上有一堆教程,无须赘述。对于同态加密库HElib而言,所有的输入输出都表示成为vector<long>的形式,vector<long>的大小和HElib的初始化参数有关。需要将原始数据全部全部转换成vector<long>的形式,至于如何转换,与具体的业务逻辑有关系,HElib并不关...原创 2018-12-11 11:44:14 · 8989 阅读 · 12 评论 -
C++中传递数组给函数形参并调用memset的一个注意事项
在C++中,如果需要对数组进行全部赋0值,一种选择是采用函数memset(void *,int,size_t)。今天在写程序的过程中遇到了一个将数组指针传递给函数形参造成无法全部赋值0的坑,特此记录一下。代码总体来说是这样的,我把数组赋0的操作放在了一个初始化函数中,是这样形式的代码:#include <iostream>#include<cstring>u...原创 2018-09-28 22:38:01 · 573 阅读 · 1 评论