小编MSa*_*ers的帖子

通过std :: ifstream从字符串中获取每个值

我尝试使用ifstreamwhile循环来获取每个值.但是,当我尝试它时,没有任何反应.为什么?

std::string line;
std::getline(cin, line);
std::ifstream stream(line);
while(stream){
    std::cout << stream.get();
}
Run Code Online (Sandbox Code Playgroud)

c++ get std ifstream

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

如何将std :: map的前N个元素复制到另一个地图?

我想将std :: map的前N个元素复制到另一个地图.我试过copy_n但是失败了.我怎样才能做到这一点?

#include <iostream>
#include <map>
#include <algorithm>
#include <iterator>
using namespace std;
int main(){
  map<int,int> Map;
  for ( int i=0;i<10;i++) Map[i]=i*i;
  map<int,int> Map2;
  std::copy_n(Map.begin(), 5,  Map2.end());
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ stl std map c++11

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

将指针及其数据类型作为参数

我需要处理一个数组类型为float64_t或uint32_t的数组.我想创建一个函数,以便以这种方式将指向给定数组的指针作为函数的参数:

void func_name(array_type* ptr_name, int count, data_type x)
//x can be float64_t or uint32_t
Run Code Online (Sandbox Code Playgroud)

如您所见,事先我不知道指针的数据类型.我如何在C++中解决这个问题?

c++ pointers

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

英特尔x86 64位计算机上的C数据类型'long'

在英特尔文档中我已经读过,对于Intel x86 64位机器,C数据类型'long'的大小是8字节.但是,当我在我的计算机上运行这个简单的代码时,它有intel(R)core(TM)i3 - 64位处理器:

printf("size of long, is %d", sizeof(long));

控制台输出为4(而不是8)!任何人都可以解释这种差异或相同的原因.谢谢

c

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

为什么rand()的范围小于int的范围?

我正在尝试用5000个随机数填充向量。每个数字都是整数。但是我想知道为什么rand()只给出正整数,为什么它从不给出整数可以容纳的最大值。有什么理由吗?

#include<iostream>
#include<cstdlib>
#include<ctime>

using namespace std;

int main()
{

unsigned seed = time(0);
srand(seed);

vector<int> vect(5000);

for (int i = 0; i < vect.size(); i++)
{
    vect[i] = rand();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ random

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

看看C++中是否会出现无限循环

以下代码会导致无限循环吗?

  x=0;
  y=0;

  while(x<100)
  {
    minnum=100;
    maxnum=100;
    while(y<150)
    {
    if(random[x][y]<minnum)
      {
      minnum=random[x][y];
      minX=x;
      minY=y;
      y++;
      }
    else if(random[x][y]>maxnum)
      {
      maxnum=random[x][y];
      maxX=y;
      maxY=y;
      y++;
      }
    }
    x++;
    y=0;
  }  
Run Code Online (Sandbox Code Playgroud)

c++ infinite-loop

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

coinitialize 和 coinitializeex 有什么区别?

coinitialize(Null);
    {
        _In_opt_ LPVOID pvReserved, //parameters
        _In_     DWORD  dwCoIn
Coinitializeex(Null);
    {
       _In_opt_ LPVOID pvReserved,
       _In_     DWORD  dwCoInit
    }
Run Code Online (Sandbox Code Playgroud)

你能简单解释一下吗?

c++ com winapi

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

包括iostream中断uint32_t定义(C)

编辑:请忽略这个问题.我意识到我是一个白痴,非常友好和乐于助人的人指出iostream不是C而是C++库.

我遇到了一个非常奇怪的问题.

我有一个完全工作的程序(大约1000行).我需要

#include <iostream> 
Run Code Online (Sandbox Code Playgroud)

当我这样做时,uint32_t的typedef会中断.

它被定义为这样

typedef unsigned __int32 uint32_t;
Run Code Online (Sandbox Code Playgroud)

我正在使用Visual Studio 2017.这是它给出的错误

\ vc\tools\msvc\14.15.26726\include\cstdlib(19):错误C2061:语法错误:标识符'noexcept'

当我将鼠标悬停在现在的下划线uint32_t时,会出现以下情况:

uint32_t变量"uint32_t"不是类型名称

评论这条线

#include <iostream>
Run Code Online (Sandbox Code Playgroud)

该程序按预期编译和运行.

是什么赋予了?

边题.我使用uint32_t的原因是为了保证我的变量是32位长,因为我正在进行大量的位操作.使用unsigned int会安全吗?

这是我包括的所有内容的列表:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <iostream>

typedef unsigned __int32 uint32_t;
Run Code Online (Sandbox Code Playgroud)

c iostream uint32-t

-2
推荐指数
1
解决办法
111
查看次数

标签 统计

c++ ×6

c ×2

std ×2

c++11 ×1

com ×1

get ×1

ifstream ×1

infinite-loop ×1

iostream ×1

map ×1

pointers ×1

random ×1

stl ×1

uint32-t ×1

winapi ×1