C++ 语言相关
Sunday
UE4 、工业仿真 、 Delta3D 、OpenGL、分布式仿真
展开
-
行指针与列指针
比如:数组a[3][3]行指针 a &a[0];列指针 a[0] *(a+0);Int b[4];//b是列地址int (*p)[3]; //定义一个行指针,此行指针指向一个有三个元素的int类型数组 关于行指针和列指针的两句话:行指针取*变成列指针,列指针再取*变成数组元素; 数组元素取地址变成列原创 2010-04-18 11:46:00 · 1207 阅读 · 1 评论 -
c++ 基于Policy 的 模板编程
在没真正接触c++ 模板编程之前,真的没有想到c++ 还可以这么用,最大的感触是:太灵活了,太强大了。最初接触模板威力还是在Delta3d中,感觉里面的模板使用实在是灵活与方便,特别是dtAI中使用了大量的模板,大大增强了库的可扩展性。原创 2014-06-02 16:07:28 · 3735 阅读 · 0 评论 -
c++ 常成员函数 和 常对象
先明确几个概念:1. 常对象只能调用常成员函数。2. 普通对象可以调用全部成员函数。原创 2014-06-17 13:30:17 · 9966 阅读 · 4 评论 -
C++杂谈之关于文件操作的若干问题
原文地址http://blog.csdn.net/plzhou/article/details/20486305转载 2014-08-16 11:09:45 · 1277 阅读 · 0 评论 -
Windows Console 控制台、窗口界面切换
众所周知,控制台应用程序一般都会显示一个控制台窗口(虚拟DOS窗口),但很多时候控制台程序的执行逻辑根本不需要与用户进行交互,所以显示这个难看的窗口纯属多余,那么如何将它屏蔽掉呢?下面我向大家介绍一种方法。 操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。程序的默认入口点实际上是由连接程序设置的,不同的连接器选择的入口函数也不尽相同。在VC下,连接器对控制台程序设置的入口函数是转载 2014-11-13 14:29:43 · 3455 阅读 · 0 评论 -
c++ 泛型编程 之 TypeLists
完整代码 在 http://download.csdn.net/detail/zhuyingqingfen/8457091关于 C++ 泛型中的 TypeTraits ,参考 c++ 泛型编程 之 TypeTraits#ifndef TYPE_LISTS_H_#define TYPE_LISTS_H_#include #include #include "typetraits.h"原创 2015-02-25 17:07:41 · 2511 阅读 · 0 评论 -
c++ 模板之 抽象工厂
完成代码 见 http://download.csdn.net/detail/zhuyingqingfen/84570911. 设计模式中抽象工厂的泛型 实现2. c++ 自动生成模板代码 的例子 具体实现见:c++ 泛型编程 之 自动生成代码/////////////////////////////////////////////////////////////////////////////原创 2015-02-25 17:29:08 · 2264 阅读 · 0 评论 -
c++ 泛型编程 之 自动生成代码
http://download.csdn.net/detail/zhuyingqingfen/8457091关于 C++ 泛型中的 TypeList ,参考 c++ 泛型编程 之 TypeLists#ifndef GENSCATTERHIERARCHY_H_#define GENSCATTERHIERARCHY_H_#include "typelists.h"#include "typet原创 2015-02-25 17:13:13 · 3398 阅读 · 0 评论 -
c++ 泛型 编程 之 Functor 设计模式
完整代码见: http://download.csdn.net/detail/zhuyingqingfen/8457091#ifndef FUNCTOR_H_#define FUNCTOR_H_#include "typelists.h"#include "typetraits.h"templateclass FunctorImpl;templateclass FunctorIm原创 2015-02-25 17:32:38 · 1774 阅读 · 0 评论 -
c++ 泛型 之 TypeTraints
完整代码 在 http://download.csdn.net/detail/zhuyingqingfen/8457091#ifndef TYPETRAITS_H_#define TYPETRAITS_H_//只有声明,没有定义,它只能被用来表示“我不是个令人感兴趣的型别”。class NullType;//这是一个可被继承的合法型别,而且你可以传递EmptyType对象。class原创 2015-02-25 17:02:04 · 1906 阅读 · 0 评论 -
关于VS中区分debug与release,32位与64位编译的宏定义
在vs编程中,常常涉及到32位和64位程序的编译,怎么判断当前编译是32位编译还是64位编译?如何判断是debug下编译还是release下编译?因为之前用到,这里记录一下,省的忘了又要疯狂的google。1.判断是debug编译还是release编译。如果_DEBUG定义了表示是debug编译,否则是release编译。2.判断是32位编译转载 2014-04-23 10:58:21 · 15835 阅读 · 3 评论 -
UE4 Unreal 界面 主题 Slate 更改
花时间研究了下UE4 Editor中Slate的渲染,换了一种风格,习惯了黑色的主题,换一换颜色感觉还不错原创 2016-06-16 20:01:59 · 10530 阅读 · 9 评论 -
C++ 拷贝构造函数 赋值函调用数
类定义中,如果未提供自己的拷贝构造函数,则C++提供一个默认拷贝构造函数,就像没有提供构造函数时,C++提供默认构造函数一样。C++提供的默认拷贝构造函数工作的方法是:完成一个成员一个成员的拷贝,如果成员是类对象,则调用其拷贝构造函数或者默认拷贝构造函数。 而拷贝构造函数和赋值运算符则是C++独有的,也是很多人所不熟悉的地方。构造函数和拷贝构造函数用于从一个对象复制出另一个对象。系统提原创 2014-01-09 15:32:00 · 1056 阅读 · 0 评论 -
c++ 中 const 常量函数 static 变量 整理
const 只对其左边起作用,如果左边没数据 则对右边起作用如:const int * p; //修饰int 指向的数不能修改(即:不能 *p = 3形式),但指针可以修改 int const * p 同const int *p ;int * const p 修饰* 是常量指针 指针不能修改(即:不能 int a ,p= &a )但其指向变量可以修改(可以*p = 3))原创 2014-01-09 12:53:33 · 1221 阅读 · 0 评论 -
行列指针
<br /><br />指针与多维数组<br />(主要指二维数组)<br />int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};<br /> <br />换个角度看世界:<br />如首行一样,将首行视为一个元素,一个特殊的元素,这个“特殊的”元素是一个一维数组。那么这个二维数组是由是由三个“特殊的”元素组成的一个“特殊的”一维数组。<br />a是这个“特殊的”一维数组的名称,也就是首地址,也就是第一个元素的地址,也就是第一行的首地址,是指首行一整行,并不是指某转载 2011-04-02 09:47:00 · 1206 阅读 · 0 评论 -
整数划分
<br />#include<iostream>#include<cstdio>using namespace std;int a[12];int n;int SUM(int i){ int sum=0; for(int j=1;j<=i;++j) sum+=a[j]; return sum;}int result[31];int r;void solve(int m,int k){ int i,j; for(i=m;i>=1;i--)原创 2011-05-05 14:22:00 · 810 阅读 · 0 评论 -
全排列 c++
/************************************************************ ** @file c.cpp ** @author ** @date Thu Sep 8 22:22:07 2011 ** @br原创 2011-09-08 22:32:18 · 821 阅读 · 0 评论 -
2011 各大IT公司笔试面试题目
2011.10.17百度面试题1、进程切换需要注意哪些问题?保存处理器PC寄存器的值到被中止进程的私有堆栈; 保存处理器PSW寄存器的值到被中止进程的私有堆栈; 保存处理器SP寄存器的值到被中止进程的进程控制块;保存处理器其他寄存器的值到被中止进程的私有堆栈; 自待运行进程的进程控制块取SP值并存入处理器的寄存器SP; 自待运行进程的私有堆栈恢复处理器转载 2012-02-12 11:05:54 · 7159 阅读 · 1 评论 -
c++ 智能指针
#include "smartpoint.h" #include using namespace std; //一个测试智能指针的类 class CMyTestClass { public: CMyTestClass() { cout << "A CMyTestClass Object was created." << endl; }原创 2012-06-03 21:02:39 · 759 阅读 · 0 评论 -
c++ 位运算 技巧
1. ~ 按位取反将1变为0,将0变为12. & 按位取与只有两个操作数都是1结果才是1,否则为03. | 按位取或两个操作数任意一位为1结果就是14. ^ 按位异或两个操作数不同为1,相同为0例,使用位运算显示二进制数: char* itobs( int nNumber, char* pReturn ) { static原创 2012-05-15 22:07:59 · 1442 阅读 · 0 评论 -
ststic_cast,const_cast,dynamic_cast区别使用
强制类型转换在C中的格式就是(type)express,最好的解决方法是使用标准的C++的类型转换。 标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一一进行介绍。static_cast用法:static_cast ( expression )该运算符把expressi转载 2012-06-06 08:21:15 · 959 阅读 · 0 评论 -
c++ 大数的加减乘除
bigdigialoperation.h#ifndef BIGDIGITALOPERATION_H#define BIGDIGITALOPERATION_H#include#includeusing namespace std;class BigDigitalOperation{ public: /*比较大小:1则前者大,0相等,-1后者大*/ static i原创 2012-06-11 00:18:56 · 4032 阅读 · 0 评论 -
c++读取文件夹下的所有文件名
#include#includeusing namespace std;int main(){ _finddata_t file; long lf; //输入文件夹路径 if((lf = _findfirst("d:\\OSG\\Data\\*.*", &file))==-1) cout<<"Not Found!"<<endl; els原创 2012-08-31 16:04:21 · 6445 阅读 · 4 评论 -
linux g++ 库文件搜索路径
对所有用户有效修改/etc/profile对个人有效则修改~/.bashrc #在PATH中找到可执行文件程序的路径。export PATH =$PATH:$HOME/bin#gcc找到头文件的路径C_INCLUDE_PATH=/usr/include/libxml2:/MyLibexport C_INCLUDE_PATH#g++找到头转载 2012-11-09 19:53:20 · 6018 阅读 · 1 评论 -
c++ 泛型编程 之Factor (c++ 设计新思维)
一:前言 现在要实作一个泛化仿函数,泛化仿函数是将“请求(函数)封装起来”,存储与对象之中,该对象是具有“value语义”的,因此它支持拷贝,赋值和作为函数参数来传值(pass by value)。通过该对象可间接的处理它封装的请求,类似于boost 中的function功能。本实现采用的是《Modern C++ Design》中的方案。更详尽的说,它具有以下特点:转载 2013-08-20 21:22:16 · 2316 阅读 · 0 评论 -
UE4 UnrealEngine4 SteamVR 头盔 和 立体电视 协同 展示
通过修改UnrealEngine4的源代码,可以让头盔和立体电视协同展示相同的画面,已经测试过的是SteamVR HTC vive头盔,理论上使用Ocluse 应该也是OK的,不过需要进一步测试。临时占个坑,有空上图展示。原创 2017-11-23 13:50:18 · 1772 阅读 · 5 评论