- 博客(16)
- 问答 (1)
- 收藏
- 关注
转载 C++11 左值、右值、右值引用详解
左值、右值在C++11中所有的值必属于左值、右值两者之一,右值又可以细分为纯右值、将亡值。在C++11中可以取地址的、有名字的就是左值,反之,不能取地址的、没有名字的就是右值(将亡值或纯右值)。举个例子,int a = b+c, a 就是左值,其有变量名为a,通过&a可以获取该变量的地址;表达式b+c、函数int func()的返回值是右值,在其被赋值给某一变量前,我们不能通过变量名找...
2018-07-30 14:39:01 141
转载 使用__VA_ARGS__和va_list 控制打印日志
// main.c #include<stdio.h>#define printf_debug(...) printf( __VA_ARGS__)//#define printf_debug(format,...) printf(__FILE__"(%s:%d)"format"", __FUNCTION__, __LINE__, ##__VA_ARGS__) int ...
2018-07-27 17:58:04 1351
转载 __FUNCSIG__、__FUNCDNAME__、__FUNCTION__、__func__、__PRETTY_FUNCTION__
在最新的ISO C标准中,如大家所知的C99,加入了另一个有用的、类似宏的表达式__func__,其会报告未修饰过的(也就是未裁剪过的)、正在被访问的函数名。请注意,__func__不是一个宏,因为预处理器对此函数一无所知;相反,它是作为一个隐式声明的常量字符数组实现的:static const char __func__[] = "function-name"; 官方C99标准为此目的定义的...
2018-07-26 15:55:36 455
转载 C++11 学习笔记 std::function和bind绑定器
这是C++11增加的,不仅让我们使用标准库函数时变得更加方便,而且还能方便地实现延迟求值。1.1 可调用对象(Callable Objects)可调用对象有如下几种:函数指针 具有operator()成员函数的类对象(仿函数) 可被转换为函数指针的类对象 类成员(函数)指针以上涉及的对象可以像一个函数一样做调用操作,统称为可调用对象。现在,C++11通过提供std::funct...
2018-07-26 15:48:19 523
转载 #pragma pack(push,1)与#pragma pack(1)的区别
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式。#pragma pack (n) 作用:C编译器将按照n个字节对齐。#pragma pack () 作用:取消自定义字节对齐方式。#pragma pack (push,1) 作用:是指把原来对齐方式设置压栈,并设新的...
2018-07-26 14:43:04 396
转载 c语言中的#号和##号的作用
一、一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 用法: #include<iostream>using namespace std;#define STR(s) #s#define CONS(a,b) int(a##e##b)int main(){ cout<<(STR(vck))<<endl; /...
2018-07-26 10:18:28 7813
转载 sendmessage
点击阅读原文 现在易论坛很多人都喜欢在“发送消息”等操作时直接用数字,往往又不知道什么数字代表什么意思,也无从查起。比如,有人说16是关闭窗口,那么请问17是什么?绝大部分的人不知道,即使你去问C++高手,也是绝大部分不知道的。当初微软定义这些常量的时候,是为了让这些枯燥的数字更好记忆、阅读,可是现在很多易语言程序员却反其道行之,实在是不好的习惯。我来说一下“发送消息---SendM...
2018-07-25 17:25:40 1716
转载 C++ 元组 tuple的基本使用
参考原文地址:https://blog.csdn.net/chayalikemei/article/details/51105630 先上tuple使用的测试程序: // 元组访问 std::tuple<int, int, vector<int>> tupleTest(1, 4, { 5,6,7,8 }); // 元组个数 ...
2018-07-25 15:03:06 6302
原创 C++ MessageBox
MessageBox在windows.h中声明,所以程序需要引用windows.h 。MessageBox是显示一个模态对话框,其中包含一个系统图标,一组按钮和一个简短的特定于应用程序消息,如状态或者错误的消息,消息框中返回一个整数值,该值指示用户单击了哪一个按钮。 函数原型:int WINAPI MessageBox(HWND hWnd, LPCTSTR lpText, LPCTS...
2018-07-24 19:47:56 3449 2
转载 C++ constexpr类型说明符
const:“i promise not to change this value” constexpr:”to be evaluated at compile time”关键字 constexpr 于 C++11 中引入并于 C++14 中得到改善。它表示常数表达式。与 const 相同,它可应用于变量,因此如果任何代码试图修改该值,均将引发编译器错误。与 const 不同,constex...
2018-07-20 17:49:12 223
转载 仿函数 ( 函数对象 ) 详解
转自:https://blog.csdn.net/y1196645376/article/details/51289254
2018-07-20 15:49:10 278
转载 C++中define与const的区别
C++中不但可以用define定义常量还可以用const定义常量,它们的区别如下: 用#define MAX 255定义的常量是没有类型的,所给出的是一个立即数,编译器只是把所定义的常量值与所定义的常量的名字联系起来,define所定义的宏变量在预处理的时候进行替换,在程序中使用到该常量的地方都要进行拷贝替换; 用const float MAX = 255; 定义的常量有类型名字,存放在...
2018-07-20 15:00:45 165
转载 strchr函数
函数原型:extern char *strchr(char *str,char character)参数说明:str为一个字符串的指针,character为一个待查找字符。 所在库名:#include <string.h> 函数功能:从字符串str中寻找字符character第一次出现的位置。 返回说明:返回指向第一次出现字符character位置的指...
2018-07-20 11:36:26 593 2
转载 关于string的成员函数substr
#include <iostream>#include <string>#include<vector>using namespace std;int main () { string str="where does father go"; string str2 = str.substr (3,5); //两个参数版本(推荐)从位置...
2018-07-20 10:56:21 267
转载 strtol()详解
今天,在review 一些代码的时候,看到了strtol()这个函数,由于以前使用它的时候,还没有深刻的了解,这次,我决定探个究竟。网上关于这个函数的资料大都来源于同份资料,linux库函数,讲的不够细致。于是,我花了几个小时,认真地尝试其功能,并整理了这篇文章,希望能对C语言的爱好者一些帮助。希望大家能够将本文中发现的错误及时反馈给我,以便修正。我的信箱是wp.qin@sunmedia....
2018-07-20 10:33:55 40316 6
转载 关于strcpy_s第二个参数(目标缓冲区大小)的测试以及更加安全的替代方案
先来看一下msdn上的函数原型和对其参数的解释 errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource ); Parameters strDestination Location ...
2018-07-20 10:24:19 1795
空空如也
使用org.redisson.api.RScript 如何在lua脚本中进行阻塞等待
2023-02-02
如何从两个不同的数据库做查询,并对需要对结果做筛选排序分页
2021-04-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人