有什么方法可以控制 visual studio c++ 2017 中模板函数的优化
Is there any way to control optimization of a template function in visual studio c++ 2017
我尝试使用 #pragma optimize("", off) 有选择地禁用 a() 函数的优化。这是行不通的。有什么方法可以控制 visual studio c++ 2017 中模板函数的优化?
Header.h
#pragma once
#include <iostream>
using namespace std;
template <class T>
class my
{
public:
void f();
};
#pragma optimize("", off)
template<class T>
void my<T>::f()
{
double a = 0;
for (size_t i = 0; i < 100; i++)
{
a++;
}
cout << a;
}
#pragma optimize("", on)
Header.cpp
#include <iostream>
#include <vector>
#include "Header.h"
using namespace std;
int main()
{
my<string> a;
a.f();
return 0;
system("pause");
}
我尝试使用 #pragma optimize("", off) 有选择地禁用 a() 函数的优化。这是行不通的。有什么方法可以控制 visual studio c++ 2017 中模板函数的优化?
Header.h
#pragma once
#include <iostream>
using namespace std;
template <class T>
class my
{
public:
void f();
};
#pragma optimize("", off)
template<class T>
void my<T>::f()
{
double a = 0;
for (size_t i = 0; i < 100; i++)
{
a++;
}
cout << a;
}
#pragma optimize("", on)
Header.cpp
#include <iostream>
#include <vector>
#include "Header.h"
using namespace std;
int main()
{
my<string> a;
a.f();
return 0;
system("pause");
}