我在C++中使用多线程函数.使用n多线程,我有n随机输出.我需要计算代码中多线程输出的平均值.让我们假设n=4线程,代码是
#include <omp.h>
#include <unistd.h>
#include <stdio.h>
#include <random>
#include <iostream>
#include <cmath>
#include <iomanip>
#include <array>
#include <eigen3/Eigen/Dense>
#define W 1.0
#define avg_disorder 10
#define numThd 4
int main()
{
#pragma omp parallel num_threads(numThd)
{
// define random numbers
std::mt19937 rng;
std::uniform_real_distribution <> dist;
std::random_device r;
std::array<int,624> seed_data;
std::generate(seed_data.begin(), seed_data.end(), std::ref(r));
std::seed_seq seq(std::begin(seed_data), std::end(seed_data));
rng.seed(seq);
Eigen::Array<double, -1, 1> rp; // rp= random potential
rp = Eigen::Array<double, -1, 1>::Zero(avg_disorder, 1);
//List of 10 random …Run Code Online (Sandbox Code Playgroud) 如果我使用strcpy()功能和赋值运算符,它们有什么区别吗?
char word[][40],*first;
Run Code Online (Sandbox Code Playgroud)
以下是2个例子.
*first=word[0];
strcpy(first,&word[0]);
Run Code Online (Sandbox Code Playgroud) 下面是我的代码示例,尝试规范化我的3点向量{5,5,5}然而它在运行时打印"Normalize - Failed",可能有人解释为什么它没有成功对我这样我可能会尝试修复它?
#include <iostream>
#include "Geometry.h"
#include <math.h>
void Normalise()
{
TVector3 _krA;//vector / mag vector = answer x y z
{
_krA.m_fX = 5;
_krA.m_fY = 5;
_krA.m_fZ = 5;
}
TVector3 _rResultant;
{
_rResultant.m_fX = (_krA.m_fX * _krA.m_fX);
_rResultant.m_fY = (_krA.m_fY * _krA.m_fY);
_rResultant.m_fZ = (_krA.m_fZ * _krA.m_fZ);
}
float _fResultFinalMag = sqrt(_rResultant.m_fX + _rResultant.m_fY + _rResultant.m_fZ);
float _fresultXMag = (_krA.m_fX / _fResultFinalMag);
float _fresultYMag = (_krA.m_fY / _fResultFinalMag);
float _fresultZMag = (_krA.m_fZ / _fResultFinalMag);
float _fNormliseTestX …Run Code Online (Sandbox Code Playgroud) 根据我的老师的答案,malloc动态分配内存,然后为什么输出显示为正常变量和分配相同的大小malloc();。我是编程的新手,所以我想您会以新手可以理解的方式回答我的问题。
#include<stdio.h>
int main()
{
int a,b;
a = (int *) malloc(sizeof(int)*2);
printf("The size of a is:%d \n",sizeof(a));
printf("The size of b is:%d \n",sizeof(b));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
The size of a is:4
The size of b is:4
Run Code Online (Sandbox Code Playgroud)