小编Mih*_*yan的帖子

如何调用模板类的静态成员?

如果我有:

template <class T>
class A
{
 static void f()
 {
  // not using template parameter T
 }
};
Run Code Online (Sandbox Code Playgroud)

在这种情况下A<int>::f()是相同的A<double>::f(),但我不希望A::f()通过模板参数调用.是否有允许调用f()但不需要模板参数的语法?

c++ templates static-methods

8
推荐指数
1
解决办法
9242
查看次数

如何通过C FILE*在Windows中读取Linux或Mac创建的文件?

正如我们在Windows中所知道的那样,EOL是CRLF,而在Mac中是Linux LF和CR.(more_info)

我想在Windows中逐行编写一个读取为Linux和Mac以及Win文件的程序.要打开文件,我会在"rt"模式下使用fopen,但我不知道如何读取行.fgets读取直到Windows下的CRLF和LF,但我希望它也适用于EOL = CR文件.

那么解决方案是什么?提前致谢.

c c++ newline file

6
推荐指数
1
解决办法
1000
查看次数

输入双精度数

我写了一些天文程序,并且我已经提供了Jeffrey Sax在Meeus的书"天文算法"中实现算法的源代码.

他编写的函数之一是ReadReal(),它从用户(通过键盘或终端)获取实数.此函数的摘录如下所示:

scanf("%lf", &r);
return r * 1.000000000000001;
Run Code Online (Sandbox Code Playgroud)

第二行上的常数乘以显然与舍入有关,但我看不清楚到底是什么.我已经搜索了答案,常量出现在各个站点的许多地方,但不是在这种情况下.有没有人有这方面的经验或知道这里发生了什么?那很重要么?

谢谢你的帮助.

c algorithm floating-point

6
推荐指数
1
解决办法
401
查看次数

如何从char*转换为T*?

可能重复:
C++我们何时应该优先使用两个链式的static_cast而不是reinterpret_cast

哪个更好?

static_cast<T *>(static_cast<void *>(buffer));
Run Code Online (Sandbox Code Playgroud)

要么

reinterpret_cast<T *>(buffer);
Run Code Online (Sandbox Code Playgroud)

其中bufferchar *(存储器块包含类型的值T).

c++ pointers casting

6
推荐指数
1
解决办法
282
查看次数

如何使用一个类的嵌套枚举作为另一个类的嵌套枚举?

下面的代码将在线提供编译错误,enum en = A::en;但它描述了我想要做的事情(使嵌套枚举A也成为嵌套枚举B).

#include <iostream>
using namespace std;
struct A
{
    enum a_en{X = 0, Y = 1};
};
struct B
{
    enum b_en = A::a_en; //syntax error
};
int main()
{
    cout << B::X << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以问题是如何在c ++中做这样的事情?

c++ enums

6
推荐指数
1
解决办法
1434
查看次数

会话结束后如何保持远程powershell命令有效?

我使用以下命令setup_server.exe在远程 Windows机器上运行:

powershell -command "$encpass=convertto-securestring -asplaintext RPASSWORD -force;$cred = New-Object System.Management.Automation.PSCredential -ArgumentList RUSER,$encpass; invoke-command -computername RCOMPUTERNAME -scriptblock {setup_server.exe} -credential $cred;"
Run Code Online (Sandbox Code Playgroud)

setup_server.exe的任务是创建一些配置文件并启动my_server.exe(一些守护进程),然后它完成。我想my_server.exesetup_server.exe完成后继续运行。

因此,当我通过本地机器上的 CMD 执行此操作(即仅从setup_server.exeCMD运行)时,它可以工作,但是当我通过远程主机上的 powershell 执行此操作时,它不起作用。即my_server.exe开始,但在setup_server.exe关闭后服务器也被关闭(被杀死)。

所以问题如下:我应该使用哪些 powershell 标志/cmdlet 来使所描述的场景像在本地模式下一样工作?

注意:我想同步获取 的输出setup_server.exe,因此运行带有-AsJob标志的远程命令,可能对我不起作用,尽管我什至不知道它是否会在setup_server.exe结束后保持服务器的活动状态。

windows powershell cmd remote-access powershell-2.0

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

有没有办法使文件描述符在Windows中非阻塞?

我想将我的代码从linux移植到windows。它是这样的:

void SetNonBlocking( int filehandle )
{
    int fhFlags;

    fhFlags = fcntl(filehandle,F_GETFL);
    if (fhFlags < 0)
    {
        perror("fcntl(F_GETFL)");
        exit(1);
    }

    fhFlags |= O_NONBLOCK;
    if (fcntl(filehandle,F_SETFL,fhFlags) < 0)
    {   
        perror("fcntl(F_SETFL)");
        exit(1);
    } 

    return;
}
Run Code Online (Sandbox Code Playgroud)

现在我想在 Windows 中也有同样的东西。有任何想法吗?实际上,我的文件句柄是通过 WinApi 方法创建的管道的读取端CreatePipe

c winapi file

5
推荐指数
1
解决办法
5401
查看次数

_locking()真正做了什么?

寻找这个问题的答案我发现函数_locking().它告诉它Locks or unlocks bytes of a file(实际上我无法理解这句话的真正含义).如果有人有使用此功能的经验,是否可以使用该功能解决第一个问题中描述的问题?

c c++ winapi file file-locking

5
推荐指数
1
解决办法
439
查看次数

我在哪里可以找到HOST_E_CLRNOTAVAILABLE(类型HRESULT)常量的声明?

请有人帮我找到头文件,其中包含ExecuteInDefaultAppDomain()函数返回的HRESULT声明.编译器不请参阅MSDN文档中的值:HOST_E_CLRNOTAVAILABLE,HOST_E_NOT_OWNER等等.注意,这<MSCorEE.h>是包括在内.

c# c++ clr msdn

5
推荐指数
1
解决办法
954
查看次数

是否使用shared_ptr的内部指针进行操作?

同时复制和重置shared_ptr是否安全?

即考虑以下代码

// Main thread (before creating any other threads)
shared_ptr<A> a(new A(1));

// Thread 1
shared_ptr<A> a_copy = a;

// Thread 2
a.reset(new(A(2));
Run Code Online (Sandbox Code Playgroud)

线程1和2并行运行.我可以确定,它a_copy会将指针存储到较旧的A(1)或较新的A(2)共享对象吗?

c++ multithreading thread-safety shared-ptr

5
推荐指数
1
解决办法
131
查看次数