小编ron*_*nag的帖子

push_back vs emplace_back

我有点困惑有关之间的差异push_backemplace_back.

void emplace_back(Type&& _Val);
void push_back(const Type& _Val);
void push_back(Type&& _Val);
Run Code Online (Sandbox Code Playgroud)

因为有一个push_back超载采用右值参考我不太明白目的是emplace_back什么?

c++ stl visual-studio-2010 move-semantics c++11

684
推荐指数
7
解决办法
29万
查看次数

无法加载文件或程序集或其依赖项之一

我有另一个"无法加载文件或程序集或其中一个依赖项"的问题.

附加信息:无法加载文件或程序集"Microsoft.Practices.Unity,Version = 1.2.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

我不知道是什么导致这个或我如何调试它来找到原因.

我已经在我的解决方案目录.csproj文件中进行了搜索,以及我拥有Unity的所有地方:

参考Include ="Microsoft.Practices.Unity,Version = 2.0.414.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL"

在我的任何项目中找不到任何与1.2.0.0相对应的参考.

任何想法我应该如何解决这个问题?

我也很欣赏如何调试这样的问题的技巧.

.net c# compiler-errors reference

224
推荐指数
16
解决办法
72万
查看次数

await vs Task.Wait - 死锁?

我不太明白之间的差别Task.Waitawait.

我在ASP.NET WebAPI服务中有类似于以下函数:

public class TestController : ApiController
{
    public static async Task<string> Foo()
    {
        await Task.Delay(1).ConfigureAwait(false);
        return "";
    }

    public async static Task<string> Bar()
    {
        return await Foo();
    }

    public async static Task<string> Ros()
    {
        return await Bar();
    }

    // GET api/test
    public IEnumerable<string> Get()
    {
        Task.WaitAll(Enumerable.Range(0, 10).Select(x => Ros()).ToArray());

        return new string[] { "value1", "value2" }; // This will never execute
    }
}
Run Code Online (Sandbox Code Playgroud)

哪里Get会僵局.

什么可能导致这个?当我使用阻塞等待而不是await Task.Delay?时,为什么这不会导致问题?

c# deadlock task-parallel-library async-await

169
推荐指数
3
解决办法
13万
查看次数

具有绑定到值的可编辑ComboBox不在列表中

我有可编辑的组合框,其中并不总是首选项位于下拉列表中.

我希望有可能在文本框中手动输入文本,该文本传播到绑定到SelectedValue的字符串.

现在,只有在ComboBox项目中输入的值为on时,才会更新绑定到SelectedValue的字符串.

如何允许手动输入ComboBox列表中不可用的自定义值并将其正确传播到绑定值?

.net wpf combobox editing

80
推荐指数
2
解决办法
4万
查看次数

重用移动的容器?

重用移动容器的正确方法是什么?

std::vector<int> container;
container.push_back(1);
auto container2 = std::move(container);

// ver1: Do nothing
//container2.clear(); // ver2: "Reset"
container = std::vector<int>() // ver3: Reinitialize

container.push_back(2);
assert(container.size() == 1 && container.front() == 2);
Run Code Online (Sandbox Code Playgroud)

从我在C++ 0x标准草案中读到的内容; ver3似乎是正确的方法,因为移动后的对象在a中

"除非另有规定,否则此类移动物体应处于有效但未指明的状态."

我从来没有找到任何"以其他方式指定"的实例.

虽然我发现ver3有点回旋并且会有更多首选ver1,虽然vec3可以允许一些额外的优化,但另一方面很容易导致错误.

我的假设是否正确?

c++ move-semantics c++11

78
推荐指数
2
解决办法
8036
查看次数

我应该使用cstdint吗?

我一直在思考是否应该在内部使用typedef <cstdint>.

我个人比较喜欢写uint32_tunsigned intint8_tchar等...因为这对我来说是一个很大更加直观.

你们有什么感想?是否使用typedef是一个好主意 <cstdint>?有什么缺点吗?

c++ cstdint

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

qobject_cast如何工作?

我刚刚在Qt中找到了以下代码,我对这里发生的事情感到有些困惑.

特别是对于什么reinterpret_cast<T>(0)呢?

template <class T>
inline T qobject_cast(const QObject *object)
{
    // this will cause a compilation error if T is not const
    register T ptr = static_cast<T>(object);
    Q_UNUSED(ptr);

#if !defined(QT_NO_MEMBER_TEMPLATES) && !defined(QT_NO_QOBJECT_CHECK)
    reinterpret_cast<T>(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast<T>(const_cast<QObject *>(object)));
#endif
    return static_cast<T>(const_cast<QObject *>(reinterpret_cast<T>(0)->staticMetaObject.cast(const_cast<QObject *>(object))));
}
Run Code Online (Sandbox Code Playgroud)

有人在乎解释吗?

c++ qt casting static-cast reinterpret-cast

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

glPixelStorei(GL_UNPACK_ALIGNMENT,1)缺点?

总是使用1的alginment有什么缺点?

glPixelStorei(GL_UNPACK_ALIGNMENT, 1)
glPixelStorei(GL_PACK_ALIGNMENT, 1)
Run Code Online (Sandbox Code Playgroud)

它会影响现代gpus的性能吗?

c++ opengl textures alignment pbo

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

聚合物元素与角度指令

我知道以前曾经问过这个问题,最值得一提的是这里.

然而,答案在我看来相当抽象,我发现自己在实践中很困惑.

.vs答案似乎是:

Polymer(更准确地说,Shadow DOM)不仅可以构成HTML的位,还可以封装它们.这是一项全新的功能,可以与任何其他模板系统或框架一起使用,以增强其功能.

这并没有真正告诉我那么多,据我所知,角度指令在实践中几乎完全相同,尽管聚合物元素在性能方面可能更有效.我敢肯定,"封装"在这个背景下有一些更深刻的含义,我不理解.

假设我正在开发一个AngularJS Web应用程序.何时,如何以及为什么我会使用聚合物元素而不是角度指令?

是否会使用聚合物元素而不是角度指令,如果是的话,何时使用一个而不是另一个?或者角度指令是否应根据聚合物元素实施?

javascript angularjs polymer

28
推荐指数
1
解决办法
6372
查看次数

找不到PDB'vc100.pdb'

我已经下载了FreeImage源代码,并为X64 MT DLL自行完成了静态构建.

一切正常,除非我在freeimage.lib文件中使用链接,我得到了很多烦人的链接器警告,我不太明白原因?

2>freeimage.lib(zutil.obj) : warning LNK4099: PDB 'vc100.pdb' was not found with 'freeimage.lib(zutil.obj)' or at '\bin\Release\vc100.pdb'; linking object as if no debug info
Run Code Online (Sandbox Code Playgroud)

......就像那样......

造成这种情况的原因是什么?如何摆脱它?我在构建FreeImage时猜测它是一些编译器选项.

这是FreeImageLib项目的命令行:

/ I ".. \" /I"..\ZLib "/I"..\DeprecationManager" /I"..\OpenEXR\Half "/I"..\OpenEXR\Iex" /I"..\OpenEXR\IlmImf "/I"..\OpenEXR\Imath" /I"..\OpenEXR\IlmThread "/ NOLOGO/W3/WX-/ OD/d "WIN32"/ d "_DEBUG"/ d "OPJ_STATIC"/ d" FREEIMAGE_LIB"/ D"_CRT_SECURE_NO_DEPRECATE"/ D"LIBRAW_NODLL"/ D"_VC80_UPGRADE = 0x0710"/ D"_MBCS"/ GF-/Gm-/EHsc/RTC1/MDd/GS/fp:precise/Zc:wchar_t/Zc:forScope/OpenMP的/Fp".\Debug/FreeImageLib.pch "/Fa".\Debug/" /Fo".\Debug/ "/Fd".\Debug/"/ GD/errorReport:队列

编辑:

我通过将其构建为动态库来解决它.虽然这不是我希望的解决方案......

c++ linker warnings visual-studio-2010 static-linking

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