C++/CX似乎使得本地C++与C#FAR的接口比使用C++/CLI"层"的当前方法(具有所需的所有复杂性)更容易和更直接.但是我可以在老式的WPF桌面式应用程序中使用C++/CX OUTSIDE WinRT吗?澄清:我的WPF应用程序'包装'旧的Windows32应用程序代码.所以我正在使用本机c ++进行交互,但在同一个应用程序中使用本机c ++,托管C++和c#都很尴尬.
我正在使用FIR滤波器对音频进行过采样.这是一个简单的典型窗口sinc,即sinc函数被截断和窗口化.像往常一样,它需要过去和'未来'的样本才能工作.实际上,这意味着音频输出被延迟.sinc功能是理想的低通滤波器.我的问题是什么是等价的,除非没有'未来'样本.我想这个功能与砖墙IIR滤波器的脉冲响应相同.它将具有完美的砖墙切割,但不会有完美的相位响应.
我的一位用户问为什么我的应用程序不支持文件名中的分号.我通过我的代码,似乎Windows函数GetOpenFileName截断任何包含分号的文件名.例如"one; two.wav" - >"one".
微软表示不允许使用冒号,但不要提到冒号......
http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx
他们合法与否?
编辑:..以及如何使用GetOpenFileName()来处理文件名中的分号?
哦!,很奇怪 - 文件名是正确的,除了"滚动"到左边.所以"one; two.wav"看起来像"two.wav",直到我点击它并按左箭头(然后它很好).因此,这不是一个错误,只是奇怪的行为.
我正在尝试使用“现代 C++ 设计”中的类型特征,使用模板来确定类型是否具有可变大小。例如,字符串需要可变大小的存储,int 具有固定大小的存储。此代码适用于 Microsoft C++,现在我正在移植到 mac,但出现错误:
当前范围内不允许显式特化
专门化这个的正确方法是什么?
template <typename T>
class MyTypeTraits
{
template<class U> struct VariableLengthStorageTraits
{
enum { result = false };
};
template<> struct VariableLengthStorageTraits<std::wstring>
{
enum { result = true };
};
public:
enum{ IsVariableLengthType = VariableLengthStorageTraits<T>::result };
};
Run Code Online (Sandbox Code Playgroud)