C++技法杂记】的更多相关文章

C++ 技法杂技杂记 1. 枚举 1.1 枚举继承(Enum Inheritance) struct Enum{ enum{ One = 1, Two, Last }; }; struct EnumDeriv : public Enum{ enum{Three = Enum::Last,Four,Five}; };…
   我在知乎回答问题不多,这个问题: "对你职业生涯帮助最大的习惯是什么?它是如何帮助你的?",我还是主动回答了一下.    做笔记 一开始笔记软件做的不好的时候就发邮件给自己,然后不断的回顾更新笔记; 后来用OneNote,由于这玩意当时不是云同步的,硬盘坏掉的时候丢了一些数据,打击还是挺大,好多事情要从头开始 再后来用过一段时间Google Wave,还以和朋友分享讨论笔记,结果,你们知道关闭服务了,费力导出来 现在转战Evernote和思维导图Conceptdraw 记忆是靠不…
由于最近把自己电脑环境换成了Ubuntu,但学校的网络是电信的闪讯,大学里用过的人都知道这货有多坑,而且没有Linux客户端,上网都是问题,怪不得国内用Linux的人那么少,特别是高校的学生(让我瞎逼逼下,反正我是恨死电信闪讯啦). 之前有在网上找到过Linux下用虚拟机共享上网的教程,现在百度不到,幸好自己之前有存档.今天用到了,觉得还是写到博客园比较好,万一哪天电脑硬盘坏了呢?废话不多说,上教程,尽力讲明白,看不懂的大家就不要骂我了,我小学语文虽然不是体育老师教的,但是我语文真心不好啊! 一…
ubuntu使用杂记 1.flatabulous安装使用. flatabulous是一个ubuntu图标主题. 使用它,必须得安装tweak插件. sudo add-apt-repository ppa:tualatrix/ppa sudo apt-get update sudo apt-get install gnome-tweak-tool 然后再安装flatabulous主题. sudo add-apt-repository ppa:noobslab/themes sudo apt-get…
在企业应用开发中,经常会遇到日期的相关处理,说实话JDK自带的日期方法很难用.就我个人而言我一般都会采用joda-time来替代JDK自身的日期. 这篇文章是杂记,所以写的比较零散,希望大家不要见怪. SimpleDateFormat 先来说说JDK自带的SimpleDateFormat类吧.SimpleDateFormat 是 Java 中一个非常常用的类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateF…
第一部分 iterator学习 STL iterators定义: 提供一种方法,使之能够依序巡访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式. 任何iteartor都应该提供5个内嵌相应型别: 1. value_type; 2. difference_type; 3. pointer; 4. reference; 5. iterator_category; 下面分别介绍5个内嵌型别: 1. value_type: 由于是泛型编程,因此容器中的数据类型并不能确定,如一个函数…
工欲善其事必先利其器!亲爱的同学们都准备好画笔了吗?今天,助助为同学们介绍一下水溶性彩色铅笔的特点,技法运用的基本教程,请仔细看哟! [水溶性彩色铅笔的特点] 能够同时画出像铅笔一样的线条和水彩一样的功效的画具就是水溶性彩色铅笔,质地相对来说比较软.使用方法相当简单,就像普通的铅笔一样,画好后用蘸水的笔在上面涂抹,颜色就会溶化. 如果用彩色铅笔的笔部直接蘸水画,可以画出很利落的线条,还可以在画面上自由混色,是水溶性彩色铅笔最大的魅力,用含水的笔涂抹画面上的颜色时,颜色会互相混合,能表达出你所想表…
极其淡腾的一学期终于过去了,暑假打算学下台大的这门机器学习技法. 第一课是对SVM的介绍,虽然之前也学过,但听了一次感觉还是很有收获的.这位博主总结了个大概,具体细节还是 要听课:http://www.cnblogs.com/bourneli/p/4198839.html 这位博主总结的很详细:http://www.cnblogs.com/xbf9xbf/p/4617120.html 这节课提出了一个重要的概念--maxmum margin(它和hinge loss是线性SVM最重要的两个部分)…
口袋妖怪X/Y [口袋妖怪]系列最终的全3D化     再现图像风格的制作技法   完成系列最初的全3D化的本作,在手掌游戏机的性能和容量的限制中,把杉森建氏的公式设定图风格用Toon Shading漂亮的再现. 关于职人的制作的大胆想象被大量加入的本作的制作技法,请全都看一下.   忠实再现设定画的Toon Shading     以前以2D为主的展开的[口袋妖怪]系列.系列最初的Pokémon模型全3D化的尝试,技术担当的GAME FREAK Inc,模型和动画担当的Creatures In…
分布式系统之CAP理论杂记 http://www.cnblogs.com/highriver/archive/2011/09/15/2176833.html 分布式系统的CAP理论: 理论首先把分布式系统中的三个特性进行了如下归纳: ● 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值. ● 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求.(可用性不仅包括读,还有写) ● 分区容忍性(P):集群中的某些节点在无法联系后,集群整体是否还能继续进行服务…
参考资料: Redis 教程 | 菜鸟教程 : http://www.runoob.com/redis/redis-tutorial.html Redis快速入门 :http://www.yiibai.com/redis/redis_quick_guide.html 杂记: 1 关于持久化 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集(differen…
参考资料: w3school  SQL 教程 : http://www.w3school.com.cn/sql/index.asp 21分钟 MySQL 入门教程 : http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html MySQL的InnoDB索引原理详解 杂记: 1 update和alter 前者修改内容,后者修改表,有些地方需要加table,有些不需要 查询和更新指令构成了 SQL 的 DML 部分: SELECT -…
1.cygwin环境变量设置 可在Cygwin.bat 中设置 set NDK_ROOT=P:/android/android-ndk-r8e 或者在home\Administrator\.bash_profile中设置 NDK_ROOT=/cygdrive/p/android/android-ndk-r8eexport NDK_ROOT 或者在运行程序前设置(绿色方式) setlocal enabledelayedexpansionset NDK_ROOT=%cd%\android-ndk-r…
1.准备知识 typename用法 用法1:等效于模板编程中的class 用法2:用于显式地告诉编译器接下来的名称是类型名,对于这个区分,下面的参考链接中说得好,如果编译器不知道 T::bar 是类型名的话 T::bar * p可能就被理解成了T::bar 乘以p,T::bar & p可能就被理解成为了 T::bar 和p做逻辑与操作. 事实上,在模板编程时,如果传入的模板参数为T(T里面有模板参数的非独立名字bar),那么在不显示指定的话,c++或假定T::bar为变量名以消除歧义. "…
1. 重构 面向对象设计模式是“好的面向对象设计”,所谓“好的面向对象设计”指的是那些可以满足 “应对变化,提高复用”的设计. 设计模式的要点是“寻找变化点,然后在变化点处应用设计模式,从而更好地理解需求的变化” “什么时候.什么地点应设计模式”比“理解设计模式结构本身”更为重要. 设计模式的应用不宜先入为主,一上来就使用设计模式是对设计模式的最大误用.没有一部到位 的设计模式.敏捷软件开发提倡“Refactoring to Patterns”是目前普遍公认的最好的使用 设计模式的方法. 2 重…
ios程序开发杂记 一.程序构建 与一般的程序构建无太大区别,都是源文件编译链接这一套,通常是在mac上做交叉编译,也就是利用xcode里带的ios编译工具集去生成arm架构的ios程序(或是x86的模拟器程序): /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk 二.打包 最后编好的执行文件和其它资源会一起放在一个叫$Project.app的…
traits编程技法大量运用于STL实现中.通过它在一定程度上弥补了C++不是强型别语言的遗憾,增强了C++关于型别认证方面的能力. traits编程技法是利用“内嵌型别”的编程技法和编译器的template参数推导功能实现的. iterator_traits 1.对于class type要求其“内嵌型别” 要求与STL兼容的容器,其迭代器必须定义一下五种型别: iterator_category 迭代器类型 value_type 迭代器所指对象类型 difference_type 迭代器间的距…
本文从三方面总结迭代器   迭代器的思想   迭代器相应型别及traits思想   __type_traits思想 一 迭代器思想 迭代器的主要思想源于迭代器模式,其定义如下:提供一种方法,使之能够依序巡防某个聚合物(容 器)所含的元素,而又无需暴露该聚合物的内部表达式.可见她的主要作用便是能够降低耦合,提高代码的 模块性. STL的的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一贴胶着剂将它们撮合 在一起,这贴胶着剂便是迭代器.迭代器的行为类似智能指针(例如标准库的auto_pt…
最近在看读<STL源码剖析>,看到Traits编程技法这节时,不禁感慨STL源码作者的创新能力.那么什么是Traits编程技法呢?且听我娓娓道来: 我们知道容器的许多操作都是通过迭代器展开的.其中容器类似于数组,迭代器类似于指针.我们用数组来写个例子: ] = {,,,,}; int *p; p = &arr[]; 假设,我将第1.2遮挡起来,问你p所指向的对象arr[2]是什么类型,你恐怕无法回答.因为它可以是int,char,float甚至你自己定义的类型.假设我们现在是个容器:…
STL中,traits编程技法得到了很大的应用,了解这个,才能一窥STL奥妙所在. 先将自己所理解的记录如下: Traits技术可以用来获得一个 类型 的相关信息的. 首先假如有以下一个泛型的迭代器类,其中类型参数 T 为迭代器所指向的类型: template <typename T>class myIterator{ ...}; 当我们使用myIterator时,怎样才能获知它所指向的元素的类型呢?我们可以为这个类加入一个内嵌类型,像这样:template <typename T>…
看了候哥的<STL源码剖析>的迭代器那一章,在这里将思路稍微疏理一下 迭代器 迭代器模式的定义:提供一种方法,在不需要暴露某个容器的内部表现形式情况下,使之能依次访问该容器中的各个元素. 迭代器在STL中得到了广泛的应用,通过迭代器,容器和算法可以有机的粘合在一起,只要对算法给予不同的迭代器,就可以对不同容器进行相同的操作.也就是说,数据容器和算法是分开的. 独立的迭代器并不能满足我们的要求,在实现独立的迭代器时无可避免的会暴露出容器中的很多内容,所以STL将迭代器的实现交给了容器,每种容器都…
Traits广泛应用于标准程序库.Traits classes使得"类型相关信息"在编译期可用. 认真读完下面的示例,你应该就懂了Traits技法,其实并不难. #include <bits/stdc++.h> using namespace std; //1,确认若干你希望将来可取得的类型相关信息 struct TypeOneTag {}; struct TypeTwoTag {}; struct TypeThreeTag: public TypeTwoTag {}; s…
Courses上台湾大学林轩田老师的机器学习技法课之Aggregation 模型学习笔记. 混合(blending) 本笔记是Course上台湾大学林轩田老师的<机器学习技法课>的学习笔记,用于学习之后的一些总结. 首先,对于Aggregation模型,其基本思想就是使用不同的 g t 来合成最后的预测模型 G t . 对于合成的方式主要有四种: 方法 数学描述 1. 选择.选择最值得可信的 g t 来当做最终的模型,而这个 gt 可以使用validation set 来进行选择 $$G(x)…
最近在看STL源码解析的迭代器(iterators)一章,涉及到c++ Traits的编程技法,刚开始看时一头雾水,反复看了好几遍之后才理解这个东西,因此来写写在这方面的理解,如有错误,希望读者指正. 1.迭代器(iterators) 在设计模式中,将迭代器进行如下定义:提供一种方法,使之能够依序寻访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式. 2.迭代器的设计思维 STL的设计思想在于:将容器和算法分离开来,彼此独立设计,最后在以一帖胶着剂撮合在一起,这个胶着剂就是迭…
这个学习杂记主要不是分享经验,更多是记录下falsk的体验过程,以后做东西在深入研究,因为django之前用的时间比较长,所以很多概念都是一看而过,做个试验了解下flask的功能. flask中使用是jinja2 模板,和django自带的模板很类似,但又比django的模板强大,提供了更多有用的工具,基本使用上基本都是一致的. 写了一个小案例,把模板渲染的基本步骤和变量传递的基本使用练习了下. jinjia2 模板文档 http://jinja.pocoo.org/docs/dev/ flas…
在开始讲迭代器之前,先列举几个例子,由浅入深的来理解一下为什么要设计迭代器. //对于int类的求和函数 int sum(int *a , int n) { int sum = 0 ; for (int i = 0 ; i < n ; i++) { sum += *a++; } return sum; } //对于listNode类的求和函数 struct ListNode { int val; ListNode * next; }; int sum(ListNode * head) { int…
系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 本文章个人理解, 只是为了理清webpack流程, 没有关注内部过多细节, 如有错误, 请轻喷~ 调试 1.使用以下命令运行项目,./scripts/build.js是你想要开始调试的地方 node --inspect-brk ./scripts/build.js --inline --progress 2.打开chrome://inspect/#devices即可调试…
系列文章 Webpack系列-第一篇基础杂记 webpack系列-插件机制杂记 前言 webpack本身并不难,他所完成的各种复杂炫酷的功能都依赖于他的插件机制.或许我们在日常的开发需求中并不需要自己动手写一个插件,然而,了解其中的机制也是一种学习的方向,当插件出现问题时,我们也能够自己来定位. Tapable Webpack的插件机制依赖于一个核心的库, Tapable. 在深入webpack的插件机制之前,需要对该核心库有一定的了解. Tapable是什么 tapable 是一个类似于nod…
杂记 zip的用法 对于 a = [1,2,3] b = [3,2,1] 若要同时遍历 for x, y in zip(a, b): pass zip(a, b)=> [(1,2,3),(3,2,1)] 数组复制,以及排序的细节 a = [1,2,3] b = a a.sort() b会随着a一起变化 可以令b = a[:] 就ok了 a.sort()a的内容会改变b = sorted(a)用着个Python的内置函数,可以不改变原数组的顺序 自定义排序 sorted(people, key=l…
书名 <Photoshop CS4手绘艺术技法> 图片 时间 2017-4月  学习 想了想当初的学习动机,自己P图片可是P的是实在是丑就会做几张动图.看完了才发现这行博大精深而且自己的审美实在不高.想想就算了吧…