Tag: C#的

sizeof(T *)!= sizeof(const T *)?

我正在和老板讨论这个问题。 他们说“是的,他们可以是不同的。” 对于sizeof(T*) != sizeof(const T*)是否有可能sizeof(T*) != sizeof(const T*) ?

如何从int转换为char *?

我知道的唯一方法是: #include <sstream> #include <string.h> using namespace std; int main() { int number=33; stringstream strs; strs << number; string temp_str = strs.str(); char* char_type = (char*) temp_str.c_str(); } 但有没有更less的打字方法?

如何调用一个可变参数函数中的所有参数std :: forward?

我只是写了一个通用的对象工厂,并使用boost预处理器元库来制作一个可变模板(使用2010年,它不支持他们)。 我的函数使用rval引用和std::forward做完美的转发,它让我思考…当C ++ 0X出来,我有一个标准的编译器,我会用真正的可变参数模板做到这一点。 虽然如何,我会在参数上调用std::forward吗? template <typename …Params> void f(Params… params) // how do I say these are rvalue reference? { y(std::forward(…params)); //? – I doubt this would work. } 只有我能想到的方式将需要手动拆包… params,我还没有到那里。 有一个更快的语法可以工作吗?

Linux中定义PATH_MAX在哪里?

我应该用#include调用哪个头文件,以便能够使用PATH_MAX作为string大小的整数? 我想能够声明: char *current_path[PATH_MAX]; 但是当我这样做时,我的编译器(Linux上的Clang / LLVM)出现以下错误: recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX' char *current_path[PATH_MAX]; ^ 我试图做一个谷歌search,但仍然没有运气。 #include <limits.h>不解决问题/错误。 我也正确的说,PATH_MAX的值是一个int?

shared_ptr魔术:)

Lidström先生和我有一个观点 🙂 Lidström先生的说法是构造shared_ptr<Base> p(new Derived); 不需要Base有一个虚拟析构函数: Armen Tsirunyan :“真的吗? shared_ptr能够正确清理吗?在这种情况下,请您certificate这个效果如何实现? DanielLidström :“ shared_ptr使用自己的析构函数来删除具体的实例,这在C ++社区中被称为RAII,我的build议是你可以学习关于RAII的所有知识,当你使用C ++时, RAII在所有情况下。“ Armen Tsirunyan :“我知道RAII,而且我也知道,当pn达到0时, shared_ptr析构函数最终可能会删除存储的px。但是,如果px具有指向Base静态types指针和指向Deriveddynamictypes指针,则除非Base具有虚拟析构函数,这会导致不确定的行为,如果我错了,纠正我。 DanielLidström :“ shared_ptr知道静态types是Concrete,它知道这个,因为我在构造函数中传递它,看起来有点像魔术,但我可以向你保证它是有devise的,非常好。 所以,评判我们。 怎么可能(如果是的话)实现shared_ptr而不要求多态类具有虚拟析构函数? 提前致谢

具有指定模板参数的C ++ 11 make_pair不能编译

我正在玩g ++ 4.7(以后的快照之一),启用了-std = c ++ 11。 我试图编译一些我现有的代码库和一个失败的混淆我的案例。 如果有人能解释发生了什么,我将不胜感激。 这是代码 #include <utility> #include <iostream> #include <vector> #include <string> int main ( ) { std::string s = "abc"; // 1 ok std::pair < std::string, int > a = std::make_pair ( s, 7 ); // 2 error on the next line std::pair < std::string, int > b […]

Qt c ++聚合“标准::串streamSS”具有不完整的types,无法定义

我有我的程序中的整数转换为string的函数: QString Stats_Manager::convertInt(int num) { stringstream ss; ss << num; return ss.str(); } 但是,当我运行这个我得到的错误: aggregate 'std::stringstream ss' has incomplete type and cannot be defined 我不确定这是什么意思。 但是,如果你现在如何解决它或需要更多的代码,请只是评论。 谢谢。

HttpClient – 任务被取消了?

当有一个或两个任务,但是当我们有多个任务列出的时候会抛出一个错误“一个任务被取消”。 List<Task> allTasks = new List<Task>(); allTasks.Add(….); allTasks.Add(….); Task.WaitAll(allTasks.ToArray(), configuration.CancellationToken); private static Task<T> HttpClientSendAsync<T>(string url, object data, HttpMethod method, string contentType, CancellationToken token) { HttpRequestMessage httpRequestMessage = new HttpRequestMessage(method, url); HttpClient httpClient = new HttpClient(); httpClient.Timeout = new TimeSpan(Constants.TimeOut); if (data != null) { byte[] byteArray = Encoding.ASCII.GetBytes(Helper.ToJSON(data)); MemoryStream memoryStream = new MemoryStream(byteArray); httpRequestMessage.Content = […]

列表:计数与计数()

给定一个列表,哪个方法首选确定里面的元素个数? var myList = new List<string>(); myList.Count myList.Count()

main()在C ++中重载?

main() 2个有效版本存在于C++ : int main() // version 1 int main(int argc, char **argv) // version 2 但是两个超载不能同时并存。 为什么不? (可能的用例:从terminal运行程序时,如果没有parameter passing,则调用第一个版本,否则第二个版本是。) 编译器是否执行特殊的检查以允许每个二进制只有一个版本?