随笔分类 - c++
摘要:有一个要注意的地方,以前不理解在while里面用cin >> val是什么意思,用这个当条件的话,通过检测其流的状态来判断结束; (1)若流是有效的,即流未遇到错误,那么检测成功; (2)若遇到文件结束符,或遇到一个无效的输入时(例如本题输入的值不是一个整数),istream对象的状态会变为无效,条
阅读全文
摘要:一、简介 我们可以向一个算法传递任何类别的可调用对象。对于一个对象或一个表达式,如果可以对其使用调用运算符,则称它为可调用的。即,如果e是一个可调用的表达式,则我们可以编写代码e(args),其中args是一个逗号分隔的一个或多个参数的列表。 可调用对象分别有:1、函数和函数指针;2、重载了函数调用
阅读全文
摘要:转载:http://hi.baidu.com/freelonely/blog/item/340341077c4d287302088189.html 预对齐内存的分配 在大多数情况下,编译器和C库透明地帮你处理对齐问题。POSIX 标明了通过malloc( ), calloc( ), 和 reallo
阅读全文
摘要:声明与定义(Declaration and Definition) 开始这篇文章之前,我们先弄懂变量的declaration和definition的区别,即变量的声明和定义的区别。 一般情况下,我们这样简单的分辨声明与定义的区别:建立存储空间的声明称之为“定义”,而把不需要建立存储空间的称之为“声明
阅读全文
摘要:1 #define IMAGE_ALIGN(x, mask) ( ((x) + (mask) - 1) & ~((mask) - 1) )
阅读全文
摘要:将int变量转为(void*)时出现错误 error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] 这是由于int类型为32位,指针为long long 64位 解决方法:(void*)(i
阅读全文
摘要:1、如果安装了多个boost版本或boost路径不是scribe脚本指定的话,会出现问题: 解决方法:在configure 后加一个参数 --with-boost-filesystem=boost_filesystem 2、thrift-home路径设置为/usr/local,找不到thrift 解
阅读全文
摘要:错误示例: 使用g++编译,出现如下错误: 解决方法: 1、 2、 3、 具体原因: 模板的处理过程分为两步(标准编译,VS是另一种方式)。第一步,在类型实例化前,所有不依赖于模板参数的数据被查找和检查。第二部,类型确定,而后处理剩余的部分。 现在,在第一阶段,没有迹象表明next函数是依赖于模板参
阅读全文
摘要:‘close’ was not declared in this scope ‘read’ was not declared in this scope ‘sysconf’ was not declared in this scope 没有包含头文件 unistd.h 造成的。 加上' #inclu
阅读全文
摘要:在redhat6上编译无问题,在centos7上编译出现错误: ,这是由于 make_pair在c++11前后修改了声明,对于该错误,有两种修改方式: 1、make_pair(str, pos) 2、make_pair<string, int>(string(str), int(pos))
阅读全文
摘要:std::nothrow std::nothrow 1、在内存不足时,new (std::nothrow)并不抛出异常,而是将指针置NULL。 若不使用std::nothrow,则分配失败时程序直接抛出异常。 2、使用方式: 1 #include <new> 2 #include <iostream
阅读全文
摘要:这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式。 #pragma pack (n) 作用:C编译器将按照n个字节对齐。#pragma pack () 作用:取消自定义字节对齐方式。 #pragma pack (push,1) 作用:是指把
阅读全文
摘要:一、RTTI(Run-Time Type identification),通过运行时类型信息,程序能够使用基类的指针或引用来检查这些指针或引用所指向的对象的实际派生类型。面向对象的编程语言,想C++,Java,delphi都提供了RTTI的支持。RTTI并不是什么新技术,很早就有了,他主要提供了运行
阅读全文
摘要:作者:一根筋的傻瓜链接:https://www.zhihu.com/question/36379130/answer/69853366来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 POD,全称plain old data,plain代表它是一个普通类型,old代表它
阅读全文
摘要:(1)C语言跟内存分配方式 <1>从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量.<2>在栈上创建 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放.栈内存分配运算内置于处理器的指
阅读全文
摘要:Utilities <utility> 由短小精干的类和函数构成,执行最一般性的工作。 这些工具包括: general types 一些重要的C函数 numeric limits Pairs C++标准程序库中凡是“必须返回两个值”的函数, 也都会利用pair对象 class pair可以将两个值视
阅读全文
摘要:fwrite和fread是以记录为单位的I/O函数,fread和fwrite函数一般用于二进制文件的输入输出。 返回值:读或写的记录数,成功时返回的记录数等于nmemb,出错或读到文件末尾时返回的记录数小于nmemb,也可能返回0。 fread和fwrite用于读写记录,这里的记录是指一串固定长度的
阅读全文
摘要:在阅读代码时,遇到了很早之前用过的fseek(),很久没有用了,有点陌生,写出来以便下次查阅。 函数功能是把文件指针指向文件的开头,需要包含头文件stdio.h fseek 函数名: fseek 功 能: 重定位流上的文件指针 用 法: int fseek(FILE *stream, long of
阅读全文
摘要:对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3) 隐式指针的文章中我详细介绍了在隐式指针&的用法,其实这两
阅读全文