是否有Visual c++编译器在线,以及如何在c++和vs简单代码之间转换
Is there a Visual c++ compiler online and how convert between c++ and vs simple code
将这类代码转换为VS2010(在检查之前我必须知道)有什么特别的问题吗
是否有任何在线VS2010编译器?
assert(false);
做什么
示例
int applyOperator(Operator op,int x,int y)
{
switch (op) {
case operator_plus: return x+y; // jesli operator_plus zwroc x + y itd.
case operator_minus: return x-y;
case operator_mul: return x*y;
case operator_div: return x/y;
case operator_none:
break;
}
assert(false);
return 0;
}
#include <iostream>
using namespace std;
#include <iostream>
#include <string>
class Student {
public:
string Name, ID, Gender, BirthDate, Major;
friend istream& operator >> (istream& in, Student& s); //DEKLARACJA przeciazenia operatora >> tak bay wczytywal dane linia po linii
friend ostream& operator<< (ostream&,Student const&); //DEKLARACJA przeciazenia operatora << tak aby wypisywal obiekty typu Student
};
istream& operator >> (istream& in, Student& s){
cout << "Namen";
getline (cin,s.Name); //wczytanie linii na imię
cout <<"IDn";
getline (cin,s.ID); //wczytanie linii na ID
cout <<"Gendern";
getline (cin,s.Gender);
cout <<"BirthDaten";
getline (cin,s.BirthDate);
cout <<"Majorn";
getline (cin,s.Major);
return in;
};
ostream& operator<< (ostream &wyjscie, Student const& ex)
{
wyjscie<<""<<"Name:t"<<ex.Name<<"n"<<
""<<"Student ID:t"<<ex.ID<<"n"<<
""<<"Gender:t"<<ex.Gender<<"n"<<
"BirthDate:t"<<ex.BirthDate<<"n"<<
"Major:t"<<ex.Major<<endl;
return wyjscie;
}
int main(){
Student s;
cin>>s;
cout<<s;
return 0;
}
断言什么(错误);做
它打开一个断言窗口。这是一种机制,可以让程序员知道不应该到达的控制路径何时到达,或者不应该失败的条件何时到达。
基本上类似:
int divide10ByX(int x)
{
if ( x == 0 )
{
assert(!"x can't be 0");
return 0;
}
return 10/x;
}
当x
是0
时,程序通常会崩溃。通过预先检查,可以防止崩溃,但可以隐藏一些错误的功能,因为x
不应该是0。因此,只要x
为0,就在那里放置一个断言来通知您。
可替换地,它可以是assert(x)
,它仅在x==0
时触发。
由于Visual Studio是一个商业产品,我想除非微软提供这样的功能,否则你不太可能遇到免费的在线VC++编译器。
assert
宏用于验证真布尔条件。这通常是为了在开发代码时验证预期条件,作为合同设计或类似内容的一部分,并且是从生产代码中编译出来的,即在禁用调试时。
遇到false条件将导致消息输出到stderr,并调用abort()
。因此,assert(false)
只是简单地迫使代码(在调试中)在某个点中止。
如果在购买完全许可的编译器之前,您想要"在线编译器"是一个"免费"编译器,那么您可以使用Visual Studio Express。它完全可以满足大多数基本需求。
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 数据成员SFINAE的C++17测试:gcc vs clang
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 正在VS调试器中监视映射条目
- Confusion: decltype vs std::function
- 将IBM Rhapsody模型集成到VS 2019中
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 使用VS Code和CMake Tools运行自定义命令
- 修改 VS Code 中的默认C++代码段
- 如何使用c++在VS 2019上运行SQL查询
- vs 2015 constexpr变量不恒定,但与2019相比还好吗
- 完美前进使用 std::forward vs RefRefCast
- 从VS 2015更新3更新到VS2015更新3 d后浮点计算行为不同的原因
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- consteval wrapper vs. source_location
- VS Code C++:不准确的系统包括路径错误(wchar.h,boost/lambda/lambda.hpp)
- QStringList vs list<shared_ptr<QString>> 性能比较C++
- VS 2017 使用交叉编译器构建 x64 项目