自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 问答 (1)
  • 收藏
  • 关注

原创 【无标题】

所以我认为,concept和接口设计模式是有竞争的,concept具有更少的虚函数表,更平坦的内存结构,看起来更有竞争力。c++20的concept是编译期的类型检查,告诉一个类需要有哪些接口。这和类继承一个接口,所达成的效果是一样的。

2024-03-15 18:32:06 129 1

原创 谁是第一个将四元数用于计算旋转的人

“谁是第一个将四元数用于计算旋转的人” ——那些百度不会告诉你的事四元数的发明者是谁?这很好查,是由爱尔兰数学家哈密顿发明于1843年。无疑,四元数是一项伟大的发明。但是又是谁天才般地想出将四元数用于计算机图形学中的3D世界的旋转计算的?在内网找了一圈,似乎没有答案。于是翻墙去英文维基看看。没想到居然有专门的“Quaternions and spatial rotation”这个词条。于是查到,第一次正式提出,是Shoemake, Ken 在1985年的SIGGRAPH上发表的论文《Ani.

2021-10-07 16:22:45 160

原创 时隔四年,再次拾起c++

程序员最大的特点是什么?就是懒。能自动化的决不手动做,不是必须做的绝对不做。一个知识,如果不是要临用到就不会去学;一个文档,如果不是要参考就不会去看。所以别人问他这个那个,可能回答不上来,会觉得怎么一问三不知啊?其实还没到需要这些知识的哪一部。程序员第二大特点是什么?就是动手能力强。

2021-09-24 07:50:04 83

原创 c++17随想

c++17应该不多久就应该出来了吧(应该)虽然之前好像毙掉过好几个TS,不过最终版出来的时候会怎么样,谁知道呢。趁这段时间,先把几个确定了的ts先熟悉起来,这里也做个列表作为备忘:optional (C++17)  −  any (C++17)variant (C++17)basic_string_view (C++17)Special mathematical

2017-07-15 14:02:20 384

原创 理解lua的闭包

不知道c++的lambda和lua的闭包是谁先谁后,不过就我来说,是先学了c++,最近才接触到现代lua。因此把一切向c++看齐,会不自觉地把一切和c++做对比。就闭包来说,不就是c++的lambda嘛!所谓upvalue,也就是一开始按引用捕获,在变量退出生命期时,拷贝到Functor的成员变量里来,变成了按值捕获。这算是解释性语言特有的灵活性吧,变量可以

2017-04-22 09:25:38 306

原创 十万太短,三万太长

从一数到十万,有多少人能有耐心数到完呢?事实上,我们每天都要数一遍。24小时x3600秒 = 86400秒和十万比起来,三万算是小的了,但是从一数到三万又太长,长到要花一生来数完。365天x100年 = 36500天我们就每天十万十万地这么数着,三万个日夜也就这么轮回着。不管高低贵贱,谁也跳不出这个循环。这不是和for循环里的“i”很像吗?循环内

2017-04-21 13:57:14 243

原创 Lua面向对象化和c++脚本化

最近在重新学Lua,最新的Lua已经有类似定义类的语法了,联系前一阵子感叹的c++脚本语言化,现在感叹脚本语言的c++化,面向对象化。程序员到底要什么呢?面向对象的不用编译直接解释执行的语言?那不就是java吗?现在LLVM好像很火,谁用LLVM写一个c++虚拟机,就没lua什么事了。

2017-04-14 23:18:49 284

原创 幸运与不幸

什么是幸运:你在microsoft工作,并被派到c++联络小组;什么是不幸:你在microsoft工作,并被派到khronos联络小组。

2017-03-16 17:15:33 343

原创 3月7、8两日,vs2017发布关注点备忘

3月7日,11:30  - 12:00 浏览 新C# 特性12:00 PM - 12:30 PM PSTdebug新技术介绍12:30 PM - 1:00 PM PST用xamarin的c#写源生Android, iOS程序03:30 PM - 04:00 PM PST作为c

2017-03-04 10:40:14 312

原创 C++的升级策略

C++的升级策略是稳健的。对于旧版本中饱受诟病的问题(例如对类型收窄不做检查的问题),c++的解决方法是在新的特性中(这里是初始化列表)改进和改正,而原来的变量初始化那一套不做任何改变。这么做有两个好处:1是把对现有代码的影响降到最低;2是鼓励人们转移到具有类型收窄检查的新特性——初始化列表去。       这不禁让我想起了wow的版本升级策略。把两者做个对比,还是很有意思的。

2017-02-15 21:00:30 515

原创 哪里有类!

哪里有类!我只看到名字空间。。。这是前不久的一个感悟,不记得当时看了什么,反正感触挺深的。稍微换个话题,说一说c++吧。最近在看modern c++ designed,这是一本2000年出的书,2003年就有中文翻译了吧,我也挺早就在网上找到了中文资源。但是当时看的时候只觉得云里雾里,因为对他要解决的问题完全不熟悉(因为缺少实战经验)自然关于解决

2017-02-15 20:03:12 202

原创 吾生也有涯,而知也无涯。

活到快40岁,算一算今后大概还能活50年吧,50年一到,现在不管学多少知识都报废。为效率着想应该有选择地去学习新知识了。我还需要什么知识?我还想学什么知识?现在也终于切身体会到“吾生也有涯,而知也无涯”了。

2017-02-15 19:46:53 401

原创 关于模板元编程的一点反思

int2type,supsubclass,typelist。。。模板元编程真是太神奇了!我也能用他们来创造什么神奇的东西吗?问这个问题,就等于问我能拿消防救火用的皮带水管来做什么神奇的事情吗?我想除了用来玩sm捆绑之外,大概还能用来把人吊死。这里问题的本质是:工具的创造者当然知道工具该怎么用,能玩出什么花来,也用工具实现了一切可以

2017-02-14 19:26:23 251

翻译 Effective Modern C++ 条款9补完 理解模板类型推断

http://blog.csdn.net/big_yellow_duck/article/details/52224068看大黄鸭的《Effective Modern C++》翻译时,第9款最后有一小部分没有翻,于是去看英文版补全,看的时候顺便翻译了一下。然后今天校对过后把它发出来。条款9  理解模板类型推断  (最后小半部分)如果你做过模板元编程(temple

2017-02-05 12:56:23 557

转载 Effect Modern c++翻译

感谢 CSDN“大黄鸭xD”,《 Effect Modern c++》熟肉已经翻译好了。http://blog.csdn.net/big_yellow_duck?viewmode=contents

2017-01-28 22:51:51 1204

原创 该不该写const?

今天因为某处偷懒没写const,而引发了一个bug。花去了我1小时除错。懊恼之余,也咬牙切齿地想,今后一定不能省,const该写还是要写。转念又一想,且慢,这事还得精算一算。假设今后所有const我都写上,写一个const花费2秒,那么一共需要多花多少秒?如果这个时间大于了除错的时间,那么还有写的必要吗?如果还是有,那么这个时间要大到除错时间的几倍,

2017-01-26 13:34:04 278

原创 auto超神了!!!

auto print_decurship = [](auto& c, char* s){cout for (auto& i : c){cout }cout };print_decurship(cli1, "Obj1: ");print_decurship(cli2, "obj2; ");这auto已经不仅仅是占位符了,而是模板了!!

2017-01-25 23:26:48 317

原创 初始化全局静态变量的范式

auto& ClassMap(){static auto _ClassMap = [](){map _ClassMap;struct{decltype(_ClassMap)& map;templatevoid registry() {map.insert(make_pair(type_index(typeid(U)), type_index(typeid(V

2017-01-25 23:19:21 235

原创 auto真是太好用了!!

map, CollisionFunc> _ColMap{ {{type_index(typeid(Asteroid)),type_index(typeid(Asteroid)) }, [](auto,auto) {}} };真的是一个完美的占位符。凡是你知道该怎么写但是懒得写的地方,都可以用auto。

2017-01-25 21:43:31 331

原创 如何很燃地解决问题

一个好的问题,让你仿佛是在和一位强劲的对手较量。仿照日漫里的战斗,大概会有以下几个过程:一、拿到问题,发散性思维,各个思路都想一想。去除一些很明显的错误答案,确定思路的大方向。到这时可以说“真正的战斗现在才开始。”ほんとの戦いは今からだ。二、沿着这个思路进行一些探索和研究,发现和产生一些新的更具体、细节的问题。你准备仔细全面地来解决这些问题。这些可以说:“终于要拿出真本

2017-01-13 11:00:51 285

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除