标签: standard-library

使用C++输入流可以很好地播放空间

首先考虑这个示例C++代码:

std::string input1, input2, input3;
std::cout << "Enter Input 1: ";
std::cin >> input1;
std::cout << std::endl << "Enter Input 2: ";
std::cin >> input2;
std::cout << std::endl << "Enter Input 3: ";
std::cin >> input3;
Run Code Online (Sandbox Code Playgroud)

如果对于input1,我输入类似"Good day neighbors"的内容,则input1设置为"Good",input2设置为"day",输入3设置为"neighbors".我甚至没有机会为input2和input3设置值.

所以我的问题是:如何在没有它的情况下输入包含空格的文本字符串(缺少更好的术语)分解并溢出到后续的输入流调用中?

提前感谢收到的任何和所有答案.

c++ string inputstream standard-library

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

pair.first是否返回对第一个值的引用?

在C++标准库中,有一个名为pair的对象.Pair.first和Pair.second分别返回pair对象的第一个和第二个值.我想在条件下将第一个值递增一(我的对是一对).当我尝试这样做时,它正在抛出"需要1值".这可能是因为我不是通过引用传递值的某个地方,但它也可能是.first不会通过引用返回该对的第一个值.有谁知道它是否存在?

c++ reference standard-library std-pair

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

c ++是否为引用指定了哈希函数?

我的问题很快.

C++标准库是否为引用实现了哈希函数,例如 std::hash<T&>

c++ std standard-library c++11

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

Python 3 标准库中的 datetime.timezone 类有任何实际用途吗?

datetime.timezone 类的文档仅说明:

将 tzinfo 抽象基类实现为与 UTC 的固定偏移量的类。

它接受 timedelta 作为其参数。

我从未见过直接从其他人的代码片段中使用它的示例,尽管我相信一定有它的用途,否则 Python 就没有必要公开这个 API。那么什么情况下建议直接使用这个类呢?与使用专用库(例如 pytz)相比,这有什么优势?

python timezone datetime standard-library pytz

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

在这种情况下如何将true或false返回to_each?

在我下面的代码中,如果找到该项目,我想通知for_each?怎么样?

#include <list>
#include <algorithm>
#include <functional>

using namespace std;

class widget {
 public:
  widget(int id) : m_id(id) {}

private:
   int m_id;
};

class findwidget {
public:
   findwidget(widget* p) : m_widget(p) {}

   bool operator()(widget* p) const { 
      return p == m_widget ? true : false;
   }

   widget* m_widget;
};

list<widget*> m_widgetList;

void push_back(widget* pi){
   if(m_widgetList.empty()) {
      m_widgetList.push_back(pi);
   } else {
      if(!std::for_each(m_widgetList.begin(), m_widgetList.end(), findwidget(pi)))
         m_widgetList.push_back(pi);
   }
}

int main(int argc, char* argv[])
{
   widget w1(1);
   push_back(&w1);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ standard-library

0
推荐指数
1
解决办法
209
查看次数

在XCode 4.3中调用'sqrt'没有匹配函数

我正在尝试使用C++为Mac制作SDL游戏.我已经完成了与SDL相关的所有工作,但是当我尝试使用sqrt函数时,我得到了错误no matching function for call to 'sqrt'.这是我的包含列表和我的第一个函数(main()函数现在没有真正做任何事情):

#include <iostream>
#include <stdlib.h>
#include <SDL/SDL.h>
#include <math.h>

#include "geometry.h"

using namespace std;

void drawLine(vector2 start, vector2 end)
{
    double x = end.x - start.x;
    double y = end.y - start.y;
    double length = sqrt(x*x, y*y); // I get the error here
}
Run Code Online (Sandbox Code Playgroud)

我也试过导入相同的结果.有什么特别的我必须在Mac(Lion,XCode 4.3)上做这个工作吗?

编辑:为了完整性,geometry.h包含vector2结构的定义

c++ macos standard-library xcode4

0
推荐指数
1
解决办法
3851
查看次数

用于布尔"和"运算符的Python函数?

我很惊讶在运算符模块中找不到布尔值(非按位)和运算符:

http://docs.python.org/2/library/operator.html

为什么会这样?有解决方法吗?

python functional-programming standard-library

0
推荐指数
1
解决办法
102
查看次数

为什么std :: map没有提供key_iterator和value_iterator?

我在C++ 03环境中工作,并将一个函数应用于地图的每个键是很多代码:

const std::map<X,Y>::const_iterator end = m_map.end();
for (std::map<X,Y>::const_iterator element = m_map.begin(); element != end; ++element)
{
   func( element->first );
}
Run Code Online (Sandbox Code Playgroud)

如果key_iterator存在,相同的代码可以利用std::for_each:

std::for_each( m_map.key_begin(), m_map.key_end(), &func );
Run Code Online (Sandbox Code Playgroud)

那为什么不提供呢?有没有办法让第一种模式适应第二种模式?

c++ iterator stdmap standard-library c++03

0
推荐指数
1
解决办法
316
查看次数

为什么C语言库没有内置到该语言中?

目前我正在学习C.我明白,很多常用的功能,如printfscanf是C语言的实际上不是一部分-他们是功能的"标准库"的一部分.

我的问题是,为什么这些功能没有内置到语言中?这是哲学/设计考虑因素吗?编译程序时的效率问题?是否需要充当"中间层"以确保与不同操作系统的兼容性?还有别的吗?

c standard-library

0
推荐指数
1
解决办法
655
查看次数

有没有一种方法可以声明一个不包含&lt;complex.h&gt;的复数?

我想使用该<complex.h>库来加速某些计算,其中可能包括多达20个复杂元素和运算(+-* /)。但是,我的同事声明了一个结构:

struct complex {
    double a;
    double b;
};
Run Code Online (Sandbox Code Playgroud)

因此,complex由于与上述结构冲突,无法使用来自库的宏。

事实是,由于对当前项目的巨大影响,我无法更改结构的名称。我尝试使用_Complex宏来代替,并取出#include <complex.h>头,它的工作,但_Imaginary_I_Complex_I还是I不起作用。

#include <stdio.h>      /* Standard Library of Input and Output */
// #include <complex.h>    /* I want to remove this */    

int main() {
    struct complex
    {
        double a;
        double b;
    };
    double _Complex z1 = 1.0;// + 3.0 * _Complex_I;
    double _Complex z2 = 1.0;// - 4.0 * _Complex_I;    

    // none of these …
Run Code Online (Sandbox Code Playgroud)

c c99 standard-library header-files complex-numbers

0
推荐指数
1
解决办法
84
查看次数