logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++/C++11中命名空间(namespace)的使用

转自:       大型程序往往会使用多个独立开发的库,这些库又会定义大量的全局名字,如类、函数和模板等。当应用程序用到多个供应商提供的库时,不可避免地会发生某些名字相互冲突的情况。多个库将名字放置在全局命名空间中将引发命名空间污染(namespace pollution)。传统上,程序员通过将其定义的全局实体名字设得很长来避免命名空间污染问题,这样的名字中通常包含表示名字所属库的

详解XOR(异或)运算加密

首先经过你脑海的是,这两家国家队可能实力相当,用概率学的说法,即两支球队夺冠的概率都是50%,那么结果就像是掷硬币,正反靠天时地利人和,并无从考证——我们设定这种情景为A。如果你是在A+情境下,这个夺冠信息对你来说多少有点失去新鲜,因为世界级的赛事,出差错的可能性不高,所以你会觉得你其实已经大概知道了结果,听或不听没有太大意义。好的,举了这么一个例子,你应该已经开始恍然了,信息会改变你对事物的未知

文章图片
std::vector

主要介绍std::vector相关的知识点

文章图片
Source Insight 4.0 快捷键设置多行注释与反注释

步骤一:Options--->Key Assignments,如下图步骤二:在Command:中输入Edit:comment,会过滤后出现Edit:CommentLines和Edit:Un-Comment Lines两行。其中,第一个是注释多上的,第二个是取消多行注释的。步骤三:点击Assign New Key按钮,然后关闭弹出的对话框,由于我喜欢的Ctrl+/已被Looku...

C++之const关键字详解

const变量它的值不能被改变,只读的变量。const对象一旦创建后其值就不能再改变,所以const对象必须初始化。初始值可以是任意复杂的表达式:const int bufSize = get_size(); //正确:运行时初始化const int size = 42;//正确:运行时初始化const int size;...

文章图片
#c++#java#jvm
c++17之 if和switch语句中初始化变量

从C++17开始,if和switch控制结构现在允许我们在条件语句或选择子句旁边指定一个初始化子句。例如:if (int result = getResult(); result != -1){//do something}//result 变量的有效范围到此为止。1. 首先介绍下if判断语句中变量的初始化在if语句中初始化的任何值在then和else部分结束之前都是...

std::set自定义排序比较函数

std::set默认是通过std::less函数来比较key值的。#include <iostream>#include <set>void main(){std::set<int> mySet;//mySet.insert(10);// 默认比较函数为lessmySet.insert(20);// 从小到大排序for(auto it:mySet){st

C++17之std::visit

它们必须明确地为每种可能的类型提供函数调用操作符。然后,使用相应的重载来处理当前的备选项类型。1. 使用对象函数方式访问例1:#include <iostream>#include <variant>#include <string>struct MyVisitor{void operator()(double d) c...

文章图片
C++17之std::byte

程序在内存中保存数据。在c++ 17引入了 一种std::byte类型,它确实表示内存元素的“nature”类型字节。与char或int类型的关键区别在于,它不是字符类型且非算术类型。 byte 只是位的汇集,而且只对它定义逐位运算符。即唯一支持的“计算”操作是位操作符。1. std::byte的使用下面的例子演示了std::byte:#include <cstddef>...

C++17之std::optional

在编程中,我们经常遇到这样的情况:我们可能返回/传递/使用某种类型的对象。也就是说,我们可以有某个类型的值,也可以没有任何值。因此,我们需要一种方法来模拟类似指针的语义,在指针中,我们可以使用nullptr来表示没有值。处理这个问题的方法是定义一个特定类型的对象,并用一个额外的布尔成员/标志来表示值是否存在。std::optional<>以一种类型安全的方式提供了这样的对象。...

文章图片
    共 22 条
  • 1
  • 2
  • 3
  • 请选择