
c++
小飞侠v科比
专注IT全栈技术
展开
-
volatile关键字的作用
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k = i;原创 2014-01-06 18:50:51 · 573 阅读 · 0 评论 -
static_cast的详细介绍
static_cast一般用来将枚举类型转换成整型,或者整型转换成浮点型。也可以用来将指向父类的指针转换成指向子类的指针。做这些转换前,你必须确定要转换的数据确实是目标类型的数据,因为static_cast不做运行时的类型检查以保证转换的安全性。也因此,static_cast不如dynamic_cast安全。对含有二义性的指针,dynamic_cast会转换失败,而static_cast却直接且粗原创 2014-01-06 18:20:18 · 1504 阅读 · 0 评论 -
C++动态分配内存的字符串
Mysring.h文件#ifndef MYSTRING_H#define MYSTRING_H#include <iostream>//一个单例的能够动态分配内存的字符串class mystring{private: static mystring *self; char *s;public: static mystring *makestring(const ch原创 2015-12-15 09:45:42 · 3877 阅读 · 1 评论 -
C语言劫持
劫持打开计算器#include#include#include#include#include"detours.h"#pragma comment(lib,"detours.lib")//劫持自己static int (*oldsystem)(const char * _Command) = system;//创建函数指针等于地址int newsystem(const cha原创 2016-01-01 20:54:17 · 823 阅读 · 0 评论 -
C语言实现一个最简单的队列
1、队列.h#include<stdio.h>#include<stdlib.h>#define N 100 //定义队列最大多少个#define datatype char //定义队列的数据类型struct queue{ datatype data[N];//保存数据的数组 int front; //数据的开头 int rear; //数据的结尾};t原创 2016-01-08 17:40:10 · 1958 阅读 · 0 评论 -
C++模板元编程
最近一直在看STL和Boost,源码里边好多涉及到模板元编程技术,简单了解一下,备忘(Boost Python中的涉及模板元的部分重点关注一下)。范例引入复制代码// 主模板template<int N>struct Fib{ enum { Result = Fib<N-1>::Result + Fib<N-2>::Result };};// 完全特化版template <>s转载 2016-04-03 00:19:21 · 360 阅读 · 0 评论