Home > プログラミング > boost::function で…

boost::function で…

インライン展開失敗するなぁ.

#include <iostream>
#include <boost/function.hpp>
 
struct F_t {
  double operator()(const double & x) const { return 1.5 * x; }
} F;
 
inline double G(const double & x) { return 1.5 * x; }
 
int main(int argc, char *argv[])
{
  boost::function <double(const double &)> f = F;
  boost::function <double(const double &)> g = G;
  std::cout << f(2.0) << std::endl;
  std::cout << g(2.0) << std::endl;
}

ただの関数 g の場合はインライン展開されるけど関数オブジェクト f のときは bool boost::detail::function::has_empty_target(...) が展開できないといわれる.さてどうしたものか?

★下記に2つの英単語をスペースで区切って入力してください

Home > プログラミング > boost::function で…

Search
Feeds

Page Top