随笔-89  评论-944  文章-0  trackbacks-0
共12页: First 4 5 6 7 8 9 10 11 12 
哦,好像只对当前线程起作用。。。那问题就没有了,什么时候用什么时候调就可以了。

有没有会影响整个进程的这样的成对的函数呢?
@陈梓瀚(vczh)
@WXX
这个会不会影响其它线程?
@OwnWaterloo
还是有问题,,,我的一个源文件如果使用了该库的某功能,需要把该库的版权说明拷到我的源文件中吗?
@ebencheung
05、08都没有……
@OwnWaterloo
我不知道呀,所以有此一问。看到网上的解释都是“MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的.”之类的,说的不明确。
@ebencheung
谢谢,也许昨天是我误解你了,不过说话嘛还是说清楚点的好^_^
可是,,我没找到你说的 Automatic Using Precompiled headers,你说的是 VC6 下的?
re: MFC应用程序运行故障 溪流 2010-03-31 10:40
@望见
这个就不清楚了,,你有改过其他设置吗?
可能与 项目属性=>Linker=>System=>SubSystem有关
re: MFC应用程序运行故障 溪流 2010-03-31 10:12
@望见
可以啊:

项目属性=>General=>Use of MFC:
Use MFC in s Static Library

项目属性=>C/C++=>Code Generation=>Run Time Library:
/MT (for release)
/MTd (for debug)
re: DirectInput入门 溪流 2010-03-31 09:27
跟楼主学习dx~
re: DirectInput入门 溪流 2010-03-31 09:26
@Code Knight
是啊是啊,整个工程老是有一部分地方是乱的,这部分正是逻辑
re: MFC应用程序运行故障 溪流 2010-03-31 09:24
静态链接MFC
@OwnWaterloo
因为最近又想起了那些困惑的事~~
@chentan
是吗?哈哈~
@OwnWaterloo
我突然也有想写一个的冲动。。。
@OwnWaterloo
其实我不是很清楚什么叫异常安全。不知道异常安全是尽量避免写出 try catch 还是尽量到处写 try catch。但我潜意识里不喜欢写 try catch,也不喜欢用会抛异常的东东,如 MFC 中的 CFile。
@OwnWaterloo
哦,,,又是boost。。。
@OwnWaterloo
啊,,,这是哪个库里的?
看到这里,我觉得可以接受的做法就是给每种需要清理的对象封装一个类了:
ScopedHandle
ScopedCoInitialization
ScopedSysMemory
ScopedPointer
CComPtr
。。。
到后面我都看不大懂了~~~
搬张凳子学习了,各位大侠请继续~
@ebencheung
不好意思,我觉得你没看懂我的问题。还是谢谢你的热心回复~
@陈梓瀚(vczh)
好的,,我本以为可能会有什么方法而我没有知道~
@OwnWaterloo
大哥哥,do...while(0)一层怎么搞呀?可否给个示范?就用3号方案的场景好了~~
忽然觉得有点想通了,其实就是需要一个“智能句柄”。。。
@yrj
谢谢,这个例子让我耳目一新~
@空明流转
很少吗?像文中的这两种场合如何解决呢?Windows API应该经常会有这种场合吧,除非你不做应用层的开发。。
@Dancefire
@鹰击长空

我也不喜欢异常~
@陈昱(CY)
效率不重要,代码没重复、思路清晰就可以了
@~
我想确定下是不是真的无法避免了。。
@v
不会每个HANDLE都搞个class吧?这样这个class连一个相对完整的逻辑都没包含
@空明流转
好的!这算单件模式一个优点吧。。
@唐荣军
我喜欢你的这种口气,但希望知道你的具体内容,不然这样的话我也会说
@hh
你如果觉得没意义,大可不必来此浪费时间,谢谢!
@空明流转
前面的论述我基本上接受,但最后两点还是想不通

比如第二点,我要知道他什么时候被修改了,如果用的是全局变量,我可能要全工程搜索变量名字,如果是单件模式,我可能要全工程搜索XXX::GeInstance(),这一点我看不出单件模式带来的任何好处
@yrj

我是说,如果要满足形式上的OOP
@Kevin Lynx
我觉得你这个例子并不说明什么
这个例子就是通常的单件模式的使用情形。

1、它没有避免全局变量的弊端。对结构不太注意的人随时可以Singleton::GetInstance();

2、如果它要单一实例,那么这里肯定有一个内在因素。一个比较通常的情况是,这个类是一个框架(或某个框架的一部分)。既然它是框架,那么框架本身自然可以将其隐藏,或者以本框架最头条使用说明的方式明令禁止实例化。如MFC的CWinApp,如果有人实例化2个CWinApp导致错误,一定是那个人太小白了而不是MFC太傻;类似的可能还有NTService的封装。除此之外可能还有些啥原因我一时罗列不出来。

3、如果它要被多个局部共享,那么这实际上就是赤果果的全局变量,用了就用了,没必要假装没用过


至于get和set,我现在还不知道自己感觉到底如何。至少我认为不是所有的都需要public出来的。最多,给所有非隐藏变量个get,给所有非只读公开变量来个set就差不多了吧。

@qiaojie
一组全局函数如果一定要完全OOP则可以封装到“静态类”里面:
class AAA
{
public:
static void foo();
static void bar();
//...

private:
AAA();
};
最环燥的就是在写某个玩意儿的时候被人说:
你可以用这个那个。/你这个哪里比xxx好?
@陈梓瀚(vczh)
例子看懂了。但我看不太明白你的观点,呵呵
@x
因为我看到挺多地方都说单例模式如何如何了得,但是想不通,所以有此感慨。
@风雷云雪电
就C++而言,如果是不得不用的全局数据,那么它应该早早的就被规定好了的,而且只要做到不跨文件使用,出错的几率并不大。如果只能有一个实例,那么这个class可以静态化。如果不许实例化,可以private掉ctor。

对于java,C#,单例又体现在哪里?C#已经支持了 static class 的写法了
@ebencheung
非本帖讨论内容
@Davy.xu
非本帖讨论内容
@空明流转
没白扯。
如果要限定单一实例,这个类实际上需要是个静态类。

访问可控?我就不懂了,,单件模式访问哪里可控?
re: fstream那些事 溪流 2010-03-29 11:33
希望未来 CRT 能够用统一编码。。。
@Bill Hsu
谢啥?等你们支招阿
re: 2005-2009年个人总结 溪流 2009-12-24 15:01
祝楼主更加快乐、更进一步
哈,关注~
@OwnWaterloo

那个反向迭代器,是不是可以把正向迭代器当模板参数,在++里让正向迭代器--,在--里让正向迭代器的++,正向迭代器的end状态当成反向迭代器的end状态?
@OwnWaterloo

其实我个人基本不怎么会去继承,也基本不会去多态,我喜欢用组合。但是难保别人不会,所以我经常随手丢下虚析构函数
共12页: First 4 5 6 7 8 9 10 11 12