Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何判断一个项目是c还是c++;项目_C++_C - Fatal编程技术网

C++ 如何判断一个项目是c还是c++;项目

C++ 如何判断一个项目是c还是c++;项目,c++,c,C++,C,上面是一个.cpp文件,但正如您所看到的,它的内容是相当c风格的 你会称它为C还是C++项目? 它只取决于你如何编译它。 某些代码将编译为两个,如果它由C++编译器编译,则被认为是C++代码。p> 顺便说一下 通常你可以通过文件的扩展快速推断出,尽管它可以将C代码放在.cc扩展或.cp扩展中,也可以将C++代码放在.c扩展中,但这是非常罕见的。 我会说这取决于链接。如果它是一个C链接的库,则是C。如果它需要C++连接,它就是C++。如果它同时提供了这两个选项,那么两者都是 如果它不是库,它需要一

上面是一个.cpp文件,但正如您所看到的,它的内容是相当c风格的


你会称它为C还是C++项目?

它只取决于你如何编译它。 <>某些代码将编译为两个,如果它由C++编译器编译,则被认为是C++代码。p> 顺便说一下


<>通常你可以通过文件的扩展快速推断出,尽管它可以将C代码放在.cc扩展或.cp扩展中,也可以将C++代码放在.c扩展中,但这是非常罕见的。

我会说这取决于链接。如果它是一个C链接的库,则是C。如果它需要C++连接,它就是C++。如果它同时提供了这两个选项,那么两者都是

如果它不是库,它需要一个C++编译器来编译,那就是一个C++项目。 更新0


这仍然是一个联系的问题。你所给出的代码将在C和C++两种语言下编译。

< P>我称之为C项目,因为我不会在C++中使用原始指针使用C风格的字符串比较而死掉。异常或其他东西会消除这些代码。一个正确的解决方案是将BSTARVAL转换为BSTR类,它具有操作符= =过载,用于WHARGURT**./P>任何人都可以从C++文件中获取C类片段。根据这几行来判断是不可能的。是否有任何课程正在学习或使用?正在使用模板吗?使用C++特定的库吗?回答这些问题会对你有帮助。没有使用类和模板。对于第三个问题,请定义C++特定的库……我在这里没有看到一个连贯的问题。我怎么称呼它有什么关系?wprintf()是说它的c++@fahad,大多数人都不会同意,除非你有理由。BSTR不是一个类,它是一个类型(OLECHAR*)。你是说CComBSTR还是BStrut?这就是为什么我建议把它变成一个RAII自释放操作符重载类。在我看来VisualStudio使用C和C++的编译器是一样的,不是吗?如果你使用.c,它会编译成C,并且会允许像“C++”> >代码>中的隐式转换。我在我的文章中添加了一条额外的行,现在怎么样?@是的,你仍然可以称它为C++项目。Win32 API是用C来构建的,你也可以使用C++。你的意思是所有的Win32 API都可以在C和C++中使用吗?我在我的文章中加了一条额外的线,现在呢?
wprintf(L"Selecting Audio Input Device: %s\n", 
                            varName.bstrVal);
if(0 == wcscmp(varName.bstrVal, L"IP Camera [JPEG/MJPEG]"))
{
    ...
}

hr = CoCreateInstance(CLSID_SampleGrabber, NULL, CLSCTX_INPROC_SERVER,
                        IID_IBaseFilter, (void **)&pGrabberF);