摘要: // file: 6numeric.cpp#include <numeric>#include <vector>#include <fucntional>#include <iostream>#include <iterator> // ostream_iterator#include <algorithm>using namespace std;int main(){ int ia[5] = {1,2,3,4,5}; vector<int> iv(ia,ia+5); cout << accumul 阅读全文
posted @ 2010-08-19 17:10 独酌逸醉 阅读(1258) 评论(1) 推荐(0) 编辑
摘要: 做游戏开发需要具备那些知识或技能?这是我之前在csdn上发的一个贴的名字,今天忽然想起来进行了整理。希望看到关心这方面的人有所启示。下面是csdner的回复:freezezdj:游戏分客户端和服务器端。hoya5121(老李):与玩游戏相比,写游戏要复杂上千万倍,除了需要掌握通用的编程技巧以外,还要有相当的图形学,物理,数学基础,特别是在国内,由于相关资料的缺乏,更是让初学者无从下手。下面总结了一些入门方法和比较容易入手的资料。首先你要精通一门高级语言,比如C++或者C#,其次,要有良好的英文阅读能力。对游戏开发者来说英文阅读能力是最重要也是最基本的工具之一,因为你遇到的大部分资源都将是英文的 阅读全文
posted @ 2010-08-19 09:50 独酌逸醉 阅读(6794) 评论(0) 推荐(2) 编辑
摘要: C/C++输入输出流总结前两天写C++实习作业,突然发现I/O是那么的陌生,打了好长时间的文件都没有打开,今天终于有点时间了,决定找本书,好好整理一下,和大家共享。C++ I/OC++支持两种I/O,第一种是从C语言继承来的,一种是由C++定义的面向对象I/O系统。1、int getchar(void);返回一个整数值,也可以指定这个值为char变量,因为这个字符包含于低位字节中(高位字节通常为0),如果有错,getchar()返回EOF。但是他有一个潜在的问题,正常情况下,getchar()缓存输入,直到键入了回车键(这个大家应该深有体会,就是getchar()貌似只认识回车键,原来是这个原 阅读全文
posted @ 2010-08-19 09:22 独酌逸醉 阅读(25056) 评论(1) 推荐(4) 编辑
摘要: C++类型转换运算符(TypeConversionOperators)1.static_cast将一个值以合逻辑的方式转换。着可以看做是"利用原值重新构造一个临时对象,并在设立初值的时候使用类别转换"。唯有当上述的类型转换有所定义,整个转换才会成功。所谓的"有所定义",可以是语言内建规则,也可以是程序员自定的转换动作。eg:#include <iostream>using namespace std;int main(){ float f = 100.555; cout << static_cast<int>(f)&l 阅读全文
posted @ 2010-08-19 09:21 独酌逸醉 阅读(2566) 评论(0) 推荐(0) 编辑
摘要: 今天我对这段代码产生了质疑:operatordouble(){returnstatic_cast<double>(sum)/static_cast<double>(num);}我感觉应该是这样:doubleoperatordouble(){returnstatic_cast<double>(sum)/static_cast<double>(num);}于是我就在csdn上发了一个贴问了问,经过zhangweiit,mstlq,djjlove_2008,taodm(非常感谢他们)的指点后明白了这是C++的语法规则,我居然不知道。于是我翻开了久违了的 阅读全文
posted @ 2010-08-19 09:20 独酌逸醉 阅读(2099) 评论(0) 推荐(3) 编辑
摘要: allocator::rebind 看侯捷先生的《STL源码剖析》,第二章将空间配置器中提到allocator::rebind,不知所云。查了一下MSDN,才略懂一些,摘到此。allocator::rebind功能:A structure that enables an allocator for objects of one type to allocate storage for object... 阅读全文
posted @ 2010-08-19 09:16 独酌逸醉 阅读(2059) 评论(0) 推荐(0) 编辑
摘要: strings存在三种“大小”:1、size()和length() 返回string中现在的字符个数。上述两个函数等效。成员函数empty()用来检验字符数是否为0,亦即字符串是否为空。你应该优先使用该函数,因为它比length()或size()来得快。也就是说,使用if(s.empty()==true)而不使用if(s.size()==0)(笔者注)2、max_size() 此函数返回一个string最多能够包含的字符数。一个string通常包含一块单独内存区块内的所有字符,所以可能跟PC机器本省的限制有关系。返回值一般而言是索引型别的最大值减1。之所以“减1”有两个原因:(a)最大值本身是 阅读全文
posted @ 2010-08-19 09:16 独酌逸醉 阅读(22288) 评论(1) 推荐(2) 编辑
摘要: C++错误:\Page499\main.cpp|15|error:nomatchingfunctionforcallto'transform(__gnu_cxx::__normal_iterator<char*,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,__gnu_cxx::__normal_iterator<char*,std::basic_string<char,std::char_traits<char>,std: 阅读全文
posted @ 2010-08-19 09:16 独酌逸醉 阅读(3178) 评论(4) 推荐(0) 编辑
摘要: 根据STL的规范,以下是allocator的必要接口:allocator::value_typeallocator::pointerallocator::const_pointerallocator::referenceallocator::const_referenceallocator::size_typeallocator::difference_typeallocator::rebind一个嵌套的(nested)class template。class rebind<U>拥有唯一成员other,那是一个typedef,代表allocator<U>allocato 阅读全文
posted @ 2010-08-19 09:14 独酌逸醉 阅读(465) 评论(0) 推荐(0) 编辑