随笔分类 -  [101] 计算机语言

各种编程语言的知识点滴
关于最近重构代码的一些思考
摘要:最近一直在参与重构项目中的代码。 之前写的代码最大的问题在于“想到哪里写到哪里”,没有从功能上先整体地进行分析,然后将类似的业务分类到一些,有条理地书写代码。应该来说本来是可以这么去做的, 因为我们花了不少时间去做详细设计。写代码的同事已经对业务的逻辑有了相对完整的理解。但由于不少同事在写代码方面经验还比较少,因此很难做到这一点。所以就想到哪里写到哪里,也比较少审视前后写的代码一起来看是不是结构... 阅读全文

posted @ 2014-04-20 18:23 唐风思琪 阅读(749) 评论(0) 推荐(0)

类型安全且自动管理内存的返回 std::string 的 sprintf 实现
摘要:在这篇博文里,我提到了一个例子,说的是使用C++实现类型安全的printf。这个例子很惊艳,但是在我写程序的时候,并非那么“迫切”地需要它出现在我的工具箱中,因为它并不比普通的printf方便,而且它没有出现的标准库中。所以自己也懒得整。相反,这个函数的兄弟,sprintf,倒是一个非常需要的函数。不仅仅是因为需要它类型安全,而是 sprintf 有比 printf 更多的麻烦: 首先它确... 阅读全文

posted @ 2013-11-05 23:41 唐风思琪 阅读(2978) 评论(0) 推荐(2)

《C++ concurrency in action》 读书笔记 -- Part 4 第五章 C++的多线程内存模型 (1)
摘要:《C++ concurreny in action》 第五章 C++的内存模型和原子操作 5.1 Memory model basics (内在模型基础) Memory model 涉及两个方面:structural 和 concurrency structural 是基础,主要是对象的布局 5.1.1 Objects and memory location The C++ Standa... 阅读全文

posted @ 2013-04-30 00:57 唐风思琪 阅读(3530) 评论(4) 推荐(2)

《C++ concurrency in action》 读书笔记 -- Part 3 第四章 线程的同步
摘要:唐风 www.cnblogs.com/liyiwen 《C++ concurreny in action》 第四章 Synchronizing concurrent operations 这一章主要讲C++11中的进行线程同步的方法 4.1 Waiting for an event or other condition 经常遇到的一种场景是一个线程A需要等待另一个线程B完成一些“事”(操作)才能往下运行继续处理。 有以下几种“办法” 一,设置一个多个线程都能访问到的变量,B线程一旦完成自己的操作,就把这个全局的变量设为某个值,而线程A则 不断地去检查变量的值是不是已经设置为这个... 阅读全文

posted @ 2013-04-22 22:12 唐风思琪 阅读(2358) 评论(0) 推荐(0)

C++14 也快要来了
摘要:作者:唐风 主页:www.cnblogs.com/liyiwen C++11已经问世两年了,各大编译器也都加紧跟进对C++11的特性和库的实现(这里有一份GCC,MSVC,CLANG的对C++11的支持情况表)。在我们还没有来得及消化新的C++的时候,C++标准委员会并没有停下。从C++11正式发布到今天,他们一直在为C++14(以及以后的C++17)努力工作着。4月20日,来自C++标准委员会的网站上的一篇新闻说,用于 C++14 的投票草案已经完成。这意味着 C++14的内容基本上要定型了,这其中包括: generic lambdas(泛型的lambda表达式,也就是... 阅读全文

posted @ 2013-04-21 16:52 唐风思琪 阅读(2619) 评论(5) 推荐(1)

《C++ concurrency in action》 读书笔记 -- Part 2 第三章 线程间的数据共享
摘要:唐风 www.cnblogs.com/liyiwen 《C++ concurreny in action》 第三章 sharing data between threads 3.1 线程间共享数据的“问题” invariants 被破坏(比如说一个读一个写) 3.1.1 race conditions 条件竞争是: In concurrency, a race condition is anything where the outcome depends on the relative ordering of execution of operations on two o... 阅读全文

posted @ 2013-04-17 23:43 唐风思琪 阅读(2654) 评论(0) 推荐(1)

《C++ concurrency in action》 读书笔记 -- Part 1
摘要:第一章 Why use concurrency,There are two main reasons to use concurrency in an application: separation of con-cerns and performance.(这句写得很精辟:) 我:分离实现逻辑,然后使用“状态迁移表”这种消息驱动的方式,用在APP的设计上非常的方便。 什么时候不要使用con... 阅读全文

posted @ 2013-04-15 23:18 唐风思琪 阅读(2962) 评论(0) 推荐(0)

C++ -- variadic template (可变参数模板)
摘要:作者:唐风 主页:http://www.cnblogs.com/muxue C++11 语言核心的改进中,最为关注的有 rvalue reference (这里有一篇拙作),lambda,variadic template。rvalue 规则稍微复杂,但一旦理解和记住了,应用上就没有什么困难... 阅读全文

posted @ 2013-04-13 16:25 唐风思琪 阅读(25462) 评论(5) 推荐(7)

C++中的类型擦除(type erasure in c++)
摘要:作者:唐风 原载:www.cnblogs.com/liyiwen 关于类型擦除,在网上搜出来的中文资料比较少,而且一提到类型擦除,检索结果里就跑出很多 Java 和 C# 相关的文章来(它们实现“泛... 阅读全文

posted @ 2009-12-10 23:03 唐风思琪 阅读(5035) 评论(4) 推荐(6)

与临时对象的斗争(下)
摘要:Expression Template 的延迟计算和消除临时变量。 阅读全文

posted @ 2009-12-03 23:35 唐风思琪 阅读(1053) 评论(2) 推荐(2)

与临时对象的斗争(上)
摘要:C++ 中几种避免临时对象的做法~ 阅读全文

posted @ 2009-12-02 22:03 唐风思琪 阅读(3661) 评论(4) 推荐(4)

SFINEA in C++
摘要:我对 C++ 中的 SFINEA 的理解。 阅读全文

posted @ 2009-11-14 13:59 唐风思琪 阅读(1974) 评论(6) 推荐(3)

导航