小编Chr*_*mer的帖子

哪个字体是MFC对话框控件的默认值?

下面的图片(放大,因此您最好看到差异)显示动态创建的编辑控件(上面的两个示例)和从对话框编辑器(下面的示例)创建的编辑控件之间的字体差异.如何使我动态创建的CEdit控件的字体看起来像默认(下面的示例)?

在此输入图像描述

我创建了CEdit控件,如下所示:

obj->CreateEx(WS_EX_CLIENTEDGE, _T("EDIT"), _T(""),
              WS_CHILD | WS_VISIBLE | WS_TABSTOP,
              rect.left, rect.top, rect.Width(), rect.Height(),
              GetSafeHwnd(), reinterpret_cast<HMENU>(mId));

obj->SetFont(&mFont); // mFont was created in the Dialog Constructor
                      // with mFont.CreatePointFont(80, _T("MS Shell Dlg"));
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

windows winapi mfc visual-studio-2008 visual-studio

43
推荐指数
1
解决办法
3万
查看次数

C++ <algorithm>实现解释

当我想知道如何实现C++标准库中的算法时,我总是看看http://en.cppreference.com/w/cpp/algorithm,这是一个很好的来源.但有时我不理解一些实现细节,我需要解释为什么某些特定的方式.例如,在实现中std::copy_n,为什么第一次赋值是在循环之外进行的,因此循环以1?开头?

template< class InputIt, class Size, class OutputIt>
OutputIt copy_n(InputIt first, Size count, OutputIt result)
{
    if (count > 0) {
        *result++ = *first;
        for (Size i = 1; i < count; ++i) {
            *result++ = *++first;
        }
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

另外:您是否知道可以解释可能的算法实现的站点?

c++ stl-algorithm

30
推荐指数
3
解决办法
2795
查看次数

使用*this初始化一个类有什么后果吗?

在我写的一个小游戏中,我有一个Weapon带有两个构造函数的类,一个用于获取一些参数来生成一个自定义武器,另一个用于获取一个默认武器CHAIN_GUN:

Weapon::Weapon (void) {
    // Standard weapon
    *this = getWeapon(CHAIN_GUN);
    return;
}
Run Code Online (Sandbox Code Playgroud)

问题:使用*thisoperator=初始化课程是否会产生任何负面影响?

c++ initialization this

30
推荐指数
3
解决办法
1488
查看次数

最快的距离变换算法

我正在寻找最快的距离变换算法.

根据这个网站http://homepages.inf.ed.ac.uk/rbf/HIPR2/distance.htm,它描述了:"距离变换可以使用聪明的算法在两次通过中更有效地计算(例如Rosenfeld和Pfaltz 1968)."

搜索周围,我发现:"Rosenfeld,A和Pfaltz,J L. 1968.数字图片上的距离函数.模式识别,1,33-61."

但我相信我们应该拥有比1968年更好更快的算法?事实上,我找不到1968年的来源,所以任何帮助都受到高度赞赏.

algorithm transform distance image-processing

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

为什么std :: vector的构造函数接口是用C++ 11改变的?

为什么使用新标准删除了默认参数?我经常构造一个这样的矢量变量:std::vector<my_pod_struct> buf(100).我想我会用C++ 11编译器得到编译器错误.

explicit vector( size_type count,
                 const T& value = T(),                   /* until C++11 */
                 const Allocator& alloc = Allocator());
         vector( size_type count,
                 const T& value,                         /* since C++11 */
                 const Allocator& alloc = Allocator());
Run Code Online (Sandbox Code Playgroud)

c++ c++11

23
推荐指数
1
解决办法
998
查看次数

在线性时间内准备数组以找到O(k)中的k个最小元素

这是我在网上发现的一个有趣的问题.给定一个包含n数字的数组(没有关于它们的信息),我们应该在线性时间内预处理数组,这样我们就可以及时返回k最小的元素O(k),当我们给出一个数字时1 <= k <= n

我和一些朋友一直在讨论这个问题,但没有人能找到解决方案; 任何帮助,将不胜感激!

sorting algorithm big-o

23
推荐指数
1
解决办法
1172
查看次数

如何正确初始化模板类型的成员变量?

建议我有一个模板功能,如下所示:

template<class T>
void doSomething()
{
    T a; // a is correctly initialized if T is a class with a default constructor
    ...
};
Run Code Online (Sandbox Code Playgroud)

但是如果T是原始类型,则变量a未初始化.我可以写T a(0),但如果T是一个类,这不起作用.有没有办法在两种情况下初始化变量(T == class,T == int,char,bool,...)?

c++ templates

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

面试问题:最大多次销售利润

我在面试中遇到的算法问题上有一个问题,我似乎无法弄明白.我理解它应该如何工作,但无法通过算法对其进行排序.

因此,假设一家公司交易油桶,并且一次只能保留一个油桶.假设公司知道一年中每天的每桶价格.所以它作为一个数组传递.如何编写算法来查找何时买卖?

以下是简化为期5天的示例: 70 74 73 72 76分别为星期一至星期五.

这里最好的事情是周二(74)周二买入卖出(74)然后周四买入(72)并在周五卖出(76).应该递归接近吗?我真的想解决这个问题.

谢谢,

algorithm

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

更改正在运行的进程的环境变量

我有一个脚本导出环境变量并启动一些下标.

export LOGLEVEL="1"
/home/myuser/bin/myscript1.sh
/home/myuser/bin/myscript2.sh
Run Code Online (Sandbox Code Playgroud)

LOGLEVEL可用于下标的进程startet.如何更改环境变量LOGLEVEL

我试图设置变量,export LOGLEVEL="5"但这不起作用.

linux bash environment export

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

将std :: vector附加到自身,未定义的行为?

这个问题使我不确定将一个向量附加到自身.所以问题是:遵循代码行做我所期望的,但它是否符合标准?

vec.reserve(vec.size() * 2):
vec.insert(vec.end(), vec.begin(), vec.end());
Run Code Online (Sandbox Code Playgroud)

以下(不reserve())仍然有效,是否符合标准?

vec.insert(vec.end(), vec.begin(), vec.end());
Run Code Online (Sandbox Code Playgroud)

还是实施依赖?

c++ vector language-lawyer

14
推荐指数
1
解决办法
1052
查看次数