小编Pet*_*ood的帖子

为什么这段代码编译时没有警告?

我不知道为什么这段代码符合:

int array[100];
array[-50] = 100; // Crash!!
Run Code Online (Sandbox Code Playgroud)

...编译器仍可正常编译,无需编译错误和警告.

那为什么要编译呢?

c++ visual-c++

2
推荐指数
2
解决办法
835
查看次数

为什么我们需要memset始终为零?

每当我们使用时,memset我们将其设置为零.

为什么?为什么不用1或2或其他东西.

此外,将结构设置为0似乎工作但设置为1不起作用:

typedef struct abc{
    int a;
} abc;

int main()
{
    abc* ab;
    memset(ab, 0, sizeof(abc));// it sets abc->a = 0; correct
}
Run Code Online (Sandbox Code Playgroud)

但不是0如果我使用1像:

memset(ab, 1, sizeof(abc));
Run Code Online (Sandbox Code Playgroud)

然后是abc->a = garbage或的价值not equals to 1

为什么?

c c++

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

C++前向声明和"不允许不完整类型"错误

我有两个类(或更好的是,头文件)是我的C++程序的一部分,我根本无法使这一切工作!作为我的应用程序的一部分,他们基本上需要彼此的数据才能正常运行.

不要通过阅读本代码的内容来折磨自己; 我只需要解决前向声明相互包含问题,所以只需看看代码中与此问题相关的那些部分.

错误发生在第二个代码片段,最后(我不得不从第一个片段中删除大量代码,所以我可以发布问题,我想这与我的问题无关).

introForm.h

#pragma once
#include <stdlib.h>
#include "creditsForm.h"
#include "registerForm.h"
#include "aboutForm.h"
#include "QuizForm.h"
#include <windows.h>
#include <time.h>
#ifndef __introForm__H__
#define __introForm__H__

namespace InteractiveQuiz {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;

    ref class QuizForm;

    /// <summary>
    /// Summary for introForm
    /// </summary>
    public ref class introForm : public System::Windows::Forms::Form
    {
    public:
        introForm(void)
        {
            InitializeComponent();
            //
            //TODO: Add the constructor code here …
Run Code Online (Sandbox Code Playgroud)

c++ c++-cli declaration forward incomplete-type

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

如何让std :: stringsteam在浮点数上排列小数位?

在C++中,我有一些像这样的代码:

float hits = 10.12;
float mins = 2.19;
std::ostringstream ss;

ss.precision(2);

ss << std::fixed << hits << "%\n"
   << std::fixed << mins << "%";

std::cout << ss.str();
Run Code Online (Sandbox Code Playgroud)

哪个给了我这个输出:

10.12%
2.19%
Run Code Online (Sandbox Code Playgroud)

而我希望小数位对齐:

10.12%
 2.19%
Run Code Online (Sandbox Code Playgroud)

有没有办法在小数点前填充空格,以便在小数位前有两位数的固定空格宽度?

c++ floating-point stringstream string-formatting text-alignment

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

为什么可执行文件不可执行?

我有一个hello world cpp文件.如果我通过c++ test.cpp -o test我得到"test"文件来编译它是可执行文件(-rwxr-xr-x)并且如果我执行它,它将被执行并生成预期结果.

但是,如果我使用${CXX} -std=c++0x -I${INCLUDE_DIR1} -c test.cpp -o test -L{LIB_DIR1} -llib_name我也得到"测试"文件但在这种情况下它不可执行.所以,我无法执行它.我试图chmod +x,它获得执行权限,但如果我尝试执行它会得到一条错误消息(无法执行).

我做错了什么以及如何纠正?

c++ executable compilation

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

条件表达式返回类型

我不太明白这段代码是如何工作的:

def sequence_class(immutable):
    return tuple if immutable else list

seq = sequence_class(immutable=False)
s = seq("Nairobi")
s
['N', 'a', 'i', 'r', 'o', 'b', 'i']
seq = sequence_class(immutable=True)
s = seq("Nairobi")
s
('N', 'a', 'i', 'r', 'o', 'b', 'i')
Run Code Online (Sandbox Code Playgroud)

很明显它正在做什么,但我不明白该函数如何能够神奇地返回tuple("Nairobi")list("Nairobi")只是返回语句tuple if mutable else list并且没有任何参数给函数.

有什么明确的解释吗?

python conditional-statements

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

如何使用python终止外部程序或窗口

我试图关闭程序,在本例中是 Spotify,但我不断遇到语义错误。这是我的代码:

sup_programs.txt

{ 
'spotify': ['C:/Users/Daniiar/AppData/Roaming/Spotify/Spotify.exe']
}
Run Code Online (Sandbox Code Playgroud)

脚本:

class Path(object):
    import ast
    sup_programs_txt = open('sup_programs.txt', 'r')
    s_p = sup_programs_txt.read()
    paths = ast.literal_eval(s_p)
    sup_programs_txt.close()
paths = Path().paths
program_name = 'spotify'


def open_program(path_name):
    import subprocess
    subprocess.Popen(path_name)
    open_program(paths[program_name])


def close_program(path_name):
    import subprocess
    p = subprocess.Popen(path_name)
    p.terminate()


yes = input(" ... ")
if 'close' in yes or 'yes' in yes:
    close_program(paths[program_name])
else:
    print('too bad')
Run Code Online (Sandbox Code Playgroud)

我使用了kill()和terminate(),它们都没有工作,并且os.system('TASKKILL')是否有其他方法或者错误地使用了现有的方法?

顺便说一句,我使用的是 windows 10 和 python 3.5 。感谢您的帮助

python subprocess python-3.x

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

TypeError:'关键字参数未被理解:','填充'

我试图实现以下python代码,但我收到以下错误.谁能帮助我?

from keras.models import Sequential
from keras.constraints import maxnorm
from keras.layers.convolutional import Convolution2D

# Create the model
model = Sequential()
model.add(Convolution2D(32, 3, 3, input_shape=(3, 32, 32), activation='relu', padding='same', kernel_constraint=maxnorm(3)))
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

init super(Convolution2D,self)中的文件"C:\ Users\Lenovo\Anaconda2\envs\example_env\lib\site-packages\keras\layers\convolutional.py",第388行.init(**kwargs)

文件"C:\ Users\Lenovo\Anaconda2\envs\example_env\lib\site-packages\keras\engine\topology.py",第323行,在init中 引发TypeError('关键字参数不理解:',kwarg)

TypeError :('关键字参数不理解:','填充')

python keras

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

字符数组中的null是否会阻止内存被删除?

有内存泄漏吗?

    const char * pname = "NAME";
    char * temp = new char[strlen(Name) + 64];
    sprintf(temp,"%s", pname);

    delete [] temp; // is there any memory leaks because now length of temp is 4.
Run Code Online (Sandbox Code Playgroud)

c++

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

一个班轮:查找字符串是否在字符串列表中

我正在寻找一个布尔一行,以查看特定的子字符串是否在字符串列表中.所以我可以在类似的东西中使用它

if( (condition1) and (condition2) and (python_one_liner) ):
  # Do some things here
Run Code Online (Sandbox Code Playgroud)

这有望取代以下内容:

if( (condition1) and (condition2) ):
  Condtion3 = False
  for str in list_of_strings:
    if( mystr in str ):
    Condition3 = True

  if( Condition3 ):
    # Do some things here
Run Code Online (Sandbox Code Playgroud)

一种显而易见的方法是简单地编写一个函数并在初始if语句中评估该函数.我想知道是否有更好的方法来做到这一点.

python string list

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