RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-229302

Michael's questions

Martin Hope
Michael
Asked: 2022-08-20 06:09:10 +0000 UTC

环境变量 - 通过控制台的系统和用户 PATH

  • 0

再会!

有没有一种简单的方法来获取环境变量的值PATH,分别为用户“用户”和系统“系统”,使用 Windows 控制台(cmd.exe)而不访问注册表分支?

PowerShell 的代码也可以使用,但前提是它适用于默认预装在 Windows 7 中的v1.0版本。

windows
  • 2 个回答
  • 10 Views
Martin Hope
Michael
Asked: 2020-02-17 08:52:42 +0000 UTC

非确定性算法和副作用

  • 1

据我了解,非确定性算法只是一个抽象概念,在现实中并不存在。因为它不能在确定性(真实)计算机上以多项式时间求解。

定义:“非确定性算法”是一种算法,它指定用于处理相同输入的多个路径,而没有指定将选择哪个选项。

那么问题来了:有副作用的算法可以被认为是非确定性的吗?如果是,那么为什么在那种情况下它不能在真实的 PC 上执行?

这是一个算法的例子:

算法的输入是字符串——“Hello user”。
接下来,提示用户选择 4 个菜单项之一,
而不指定应选择哪个项。
输出是“你好用户,你选择了第 n 个菜单项”

困境:该算法完全符合非确定性算法的描述,同时在确定性计算机上以多项式时间求解。

1) 为处理相同的输入数据指定了多个路径。
2)不可能提前预测会选择哪一个。
3) 任何结果都是正确的,无论在运行时选择的路径如何。
4)算法的结果可能不同,尽管处理的是相同的输入数据。

алгоритм
  • 1 个回答
  • 10 Views
Martin Hope
Michael
Asked: 2020-02-15 09:30:13 +0000 UTC

确定性和非确定性算法(形式化)

  • 13

面对这样一个事实,即维基百科定义的质量还有很多不足之处。是的,有很多文字,但形式化并不完整和准确。从字面上看,符文的其余部分是空的。也就是说,来自同一个维基百科的数百个复制粘贴站点。搜索有关编程和算法的书籍(特别是)也没有返回任何结果。要么根本没有定义,要么断章取义,要么翻译质量和编辑的工作太离谱,难以把握意思。

我决定自己正式确定它们之间的差异。我意识到我一个人无法应付。我已经做了一些事情,也许在你的帮助下,可以填补定义中的空白,用波浪号表示。

如果您可以更好地制定公式,请给出确定性和非确定性算法的定义(stochastic,已经有最完整的定义,同时不是一个大的但可以理解的定义)。

分支算法包括:


  • 行为完全取决于输入数据的算法称为确定性|deterministic|。他走的每一步都是预先确定的。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
    因此,处理相同的输入总是会导致相同的结果。

  • 无法预测行为(它依赖于什么?)的算法称为非确定性|非确定性|。
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    _和不同的结果。

有时,问题的解决方案归结为使用随机变量。

  • 除输入数据外,其行为由随机(伪随机)数生成器的值确定的算法称为随机| randomized|

除了维基百科之外,真的没有人能够给出这些概念的定义吗?原则上,这些概念是编程的基础?有合适的书吗?总得来说很奇怪,那么多人受过高等教育,教授难道真的不给学生这么基本的定义吗?

алгоритм
  • 3 个回答
  • 10 Views
Martin Hope
Michael
Asked: 2020-01-15 06:07:10 +0000 UTC

随机和概率算法

  • 3

随机算法和概率算法有什么区别?
为什么他们的定义是分开的?
它们是同义词吗?

алгоритм
  • 1 个回答
  • 10 Views
Martin Hope
Michael
Asked: 2020-07-24 12:52:20 +0000 UTC

为什么 C++ 中的字符串文字是左值?

  • 4

例如一个字符串文字:“Hello, world!” 不能出现在赋值运算符的左边。那怎么可能是左可采表达式呢?

"WTF" = "Hello, world!"; // ошибка компиляции

l值:

  • 直接指定对象的表达式,在 const 限定的情况下不可修改。例如变量名、函数参数等。
  • 引用类型表达式。在 const 限定的情况下不可修改。特别是调用通过引用返回对象的函数的结果;由引用变量名组成的表达式;到引用类型的转换操作等。
  • 内置解引用操作(*)的结果是指定类型的左值;在 const 限定的情况下不可修改。
  • 内置前缀运算的结果++、--。
  • 函数名称。
  • 数组的名称。
  • 字符串文字。

r 值:

  • 表示临时对象的表达式。特别是,调用函数的结果不是通过引用返回对象;内置操作 +、- 的结果。> *、/等;显式创建临时变量 int() 或 C();转换为非引用类型等
  • 内置地址操作 (&) 的结果是指针类型的右值。
  • 内置后缀操作 ++、-- 的结果。
  • 字符串以外的文字(例如数字文字)。
  • 枚举常量。
c++
  • 2 个回答
  • 10 Views
Martin Hope
Michael
Asked: 2020-05-19 19:27:37 +0000 UTC

函数声明和定义(放置顺序)

  • 3

在每个翻译单元中,函数声明必须先于其调用。如果满足此条件,则定义的放置顺序不再重要。

哪个选项更可取,为什么?(首先声明函数然后定义,反之亦然)

void someFunction(); // declaration
void someFunction() { cout << "hello" << endl; }

int main()
{
    someFunction(); // function call                
    return 0;
}

或者

void someFunction() { cout << "hello" << endl; }
void someFunction(); // declaration

int main()
{
    someFunction(); // function call                
    return 0;
}
c++
  • 2 个回答
  • 10 Views
Martin Hope
Michael
Asked: 2020-03-16 19:40:10 +0000 UTC

switch语句,default标签后是否需要break?

  • 4

如果后面的语句完成其工作break,那么标签后面的语句有什么意义?defaultswitchdefault

我经常看到有break和没有 after的例子default:

switch(number)
{
  case 0: cout << "Too small.\n";  break;
  case 1: cout << "One.\n";  break;
  case 2: cout << "Two.\n"; break;       
  case 3: cout << "Three.\n"; break;
  default: cout << "Too large.\n"; 
  break; // какой смысл в этом break?
}
c++
  • 1 个回答
  • 10 Views
Martin Hope
Michael
Asked: 2020-01-21 01:27:51 +0000 UTC

显式引用持久化,有什么意义?

  • 3

如您所知,引用无法重新分配,因为它们始终引用同一个对象,因此始终是常量。但是,C++ 语法允许永久链接:

int var = 33;
int const & r1 = var; // ссылка на константу
int & const r2 = var; // постоянная ссылка

r1

在引用常量的情况下,一切都非常明显。如果参数“通过引用”传递给函数,则可以使用const修饰符来防止在编写程序代码时意外更改该值。

r2

但是显式指定引用的持久性有什么意义呢?
我不清楚它可以在实践中应用到哪里。

c++
  • 2 个回答
  • 10 Views
Martin Hope
Michael
Asked: 2020-01-03 06:05:46 +0000 UTC

将 char 的 MAX 常量定义为 255

  • 1

我注意到在很多地方,字符缓冲区的大小是这样确定的:

const int bufferSize = 255;  
char buffer[bufferSize+1];

为什么加一个?因为 char 可以存储 256 个值,为什么不立即这样定义它:

const int bufferSize = 256;  
char buffer[bufferSize];

字符数组也一样:

const int MAX = 256;  
char array[MAX];
c++
  • 1 个回答
  • 10 Views
Martin Hope
Michael
Asked: 2020-11-28 07:57:06 +0000 UTC

使用虚函数

  • 3

谁能解释一下它们的实际用途是什么?事实是,我了解它们的工作机制,但我不明白它们的用途和用途。

让我们看一个例子:

class Animal
{
public:
    Animal():itsAge(1) { cout << "Animal constructor...\n"; }
    virtual ~Animal() { cout << "Animal destructor...\n"; }
    virtual void Speak() const { cout << "Animal speak!\n"; }
protected:
    int itsAge;
};

class Dog : public Animal
{
public:
    Dog() { cout << "Dog constructor...\n"; }
    virtual ~Dog() { cout << "Dog destructor...\n"; }
    void Speak() const { cout << "Woof!\n"; }
    void WagTail() { cout << "Wagging Tail...\n"; }
}

int main()
{
    Animal *pDog = new Dog;
    pDog->Speak();
    return 0;
}

结果:

  • 动物构造器...
  • 狗构造器...
  • 纬!

使用虚函数的本质是,当通过指针访问一个方法时,恰好会调用在基类中声明为虚函数而在派生类中被重写的选项。

但首先,使用 Animal 类指针 *pDog,您仍然无法访问WagTail()方法(摇尾巴),因为它未在 Animal 类中定义。其次,使用这种机制,您将不得不支付与创建 v 表相关的某些成本(其中每个元素都占用 RAM 资源)。

另外,我不明白为什么在期望指向基类对象的指针时传递指向派生类对象的指针?

上述两个问题都可以通过在基类和派生类中声明非虚拟方法然后编写以下内容来解决:

Dog *pDog = new Dog;

代替:

Animal *pDog = new Dog;

“利润”在哪里?

c++
  • 3 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5