小编Ste*_*lly的帖子

将#*#glob添加到.gitignore?

我想用glob添加emacs自动保存文件到我的.gitignore #*#但当然,以哈希开头的行是注释行.

如果不将其视为评论,我如何将其添加到我的.gitignore中?

git gitignore

81
推荐指数
4
解决办法
1万
查看次数

#include所有.cpp文件到一个编译单元?

我最近有理由使用常规的Debug和Release配置来处理一些Visual Studio C++项目,还有'Release All'和'Debug All',这是我以前从未见过的.

事实证明,项目的作者有一个ALL.cpp,其中#includes所有其他.cpp文件.*所有配置只构建一个ALL.cpp文件.它当然被排除在常规配置之外,并且常规配置不构建ALL.cpp

我只是想知道这是否是一种常见做法?它带来了什么好处?(我的第一反应是闻起来很糟糕.)

您可能会遇到哪些陷阱?我能想到的是,如果你的.cpps中有匿名命名空间,它们不再是那个cpp'私有',但现在也可以在其他cpps中看到了吗?

所有项目都构建了DLL,因此在匿名命名空间中存储数据不是一个好主意,对吧?但功能会好吗?

干杯.

c++ build-process build visual-studio

71
推荐指数
3
解决办法
2万
查看次数

如何使git存储库成为只读?

我有一些通过SSH远程访问的git存储库,我想让它们中的一些只读,以防止更多的推送.有些人有遥控器指向这些存储库.

这些裸存储库已初始化--shared=group,因此将所有文件的文件权限设置为660,足以保持SSH访问,但禁止写入?或者有更简单的方法吗?

干杯.

git readonly

53
推荐指数
3
解决办法
5万
查看次数

如何使用NSString drawInRect来居中文本?

我怎样才能画出一个NSString居中的NSRect

我开始时:(来自我的自定义视图的drawRect方法的摘录)

NSString* theString = ...
[theString drawInRect:theRect withAttributes:0];
[theString release];
Run Code Online (Sandbox Code Playgroud)

现在我假设我需要设置一些属性.我已经浏览了Apple的Cocoa文档,但它有点压倒性,无法找到任何有关如何向属性添加段落样式的内容.

另外,我只能找到水平对齐,垂直对齐怎么样?

macos cocoa objective-c

40
推荐指数
5
解决办法
6万
查看次数

如何在git clone - reference之后分离交替?

我正在使用git clone --reference通过慢速连接减少网络流量.

现在,git-clone的手册页指出了使用它的危险并建议git repack -a打破链接,我在克隆之后立即做了.

我想知道的是 - 在我完成重新包装后,是否可以安全地删除.git/objects/info/alternates或是否有适当的git命令来执行此操作?

谢谢

git clone

29
推荐指数
2
解决办法
5305
查看次数

map.erase(map.end())?

考虑:

#include <map>

int main()
{
    std::map< int, int > m;
    m[ 0 ] = 0;
    m[ 1 ] = 1;

    m.erase( 0 );  // ok
    m.erase( 2 );  // no-op
    m.erase( m.find( 2 ) );  // boom!
}
Run Code Online (Sandbox Code Playgroud)

(好的,所以标题讨论了擦除end()迭代器,但是find会返回end()以查找不存在的键.)

为什么擦除不存在的键OK,但擦除end()会爆炸.我在标准中没有看到任何明确的提及?

我在VS2005上尝试了这个(在调试配置中抛出异常)和GCC 4.0.1(100%CPU).它是依赖于实现的吗?

谢谢.

c++ iterator stl map

21
推荐指数
2
解决办法
1万
查看次数

我可以使用CreateFile,但强制将句柄转换为std :: ofstream吗?

有没有办法利用Win32 API中的文件创建标志,如FILE_FLAG_DELETE_ON_CLOSEFILE_FLAG_WRITE_THROUGH如此处所述http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx,但然后强制处理成std :: ofstream?

ofstream的接口显然与平台无关; 我想在"引擎盖下"强制执行一些与平台相关的设置.

c++ windows winapi iostream

17
推荐指数
1
解决办法
7486
查看次数

一个扇区的2D边界框?

我用谷歌搜索直到我脸色发青,除非我遗漏了一些非常明显的东西,否则我找不到任何算法来计算2D扇区的边界框.

给定封闭圆的中心点,半径和扇区范围的角度,计算该扇区的轴对齐边界矩形的最佳算法是什么?

algorithm geometry

10
推荐指数
3
解决办法
4583
查看次数

帮我删除一个Singleton:寻找替代方案

背景:我有一些实现主题/观察者设计模式的类,我已经使其成为线程安全的.如果在与通知相同的线程中构造,则A subjectobservers通过简单的方法调用通知它.但是如果构造在不同的线程中,则通知将被发布到稍后由构造它的线程处理,然后在处理通知事件时可以进行简单方法调用.observer->Notified( this )observerobserverqueueobserver

所以......我有一个关联线程和队列的映射,在构造和销毁线程和队列时会更新.此映射本身使用互斥锁来保护对其的多线程访问.

地图是单身人士.

我过去曾经因使用单身人士而感到内疚,因为"这个应用程序中只有一个",并且相信我 - 我付出了忏悔!

我的一部分不禁想到应用程序中确实只有一个队列/线程映射.另一个声音说单身人士不好,你应该避免他们.

我喜欢删除单例并能够为我的单元测试存根的想法.麻烦的是,我很难想到一个好的替代解决方案.

过去工作的"通常"解决方案是传入指向要使用的对象的指针,而不是引用单例.我认为在这种情况下这将是棘手的,因为在我的应用程序中观察者和主题是10-a-penny并且将队列/线程映射对象传递到每个观察者的构造函数中是非常尴尬的.

我欣赏的是,我的应用程序中可能只有一张地图,但它不应该在主题和观察者类代码的内容中做出决定.

也许这是一个有效的单身人士,但我也很欣赏任何有关如何删除它的想法.

谢谢.

PS.我已经阅读了Singleton的替代方案,这篇文章在接受的答案中提到过.我不禁想到ApplicationFactory它只是另一个名字的另一个单身.我真的没有看到优势.

c++ singleton design-patterns

10
推荐指数
1
解决办法
1317
查看次数

我可以创建多少个CRITICAL_SECTION?

我可以初始化和使用的关键部分的数量是否有限制?

我的应用程序创建了许多(几千个)需要线程安全的对象.如果我在每个中都有一个关键部分,那会耗尽太多资源吗?

我认为,因为我需要声明自己的CRITICAL_SECTION对象,我不会像使用Win32 Mutex或Event那样浪费内核资源吗?但我只是有一个唠叨的怀疑......?

说实话,并非所有这些对象都可能需要对我的应用程序是线程安全的,但关键部分是在库中的某些低级基类中,我确实需要几千个它们!

我可能有机会修改这个库,所以我想知道是否有任何方法懒惰地创建(然后使用从那时开始)临界区只有当我检测到对象是从一个不同的线程使用到它的那个创建于?或者这是Windows会为我做什么?

c++ winapi multithreading windows-xp thread-safety

9
推荐指数
2
解决办法
3235
查看次数