小编sco*_*001的帖子

为什么cout立即输出?

cout是一个缓冲流.这意味着数据将被写入缓冲区,并在刷新流,程序终止或缓冲区完全填满时打印.

我制作了一个小程序来测试它是如何工作的,但我不明白为什么它会在满足上述任何条件之前打印出来.

#include <iostream>
#include <ctime>
using namespace std;

int main()
{
    cout << "Test";
    float secs = 5;
    clock_t delay = secs * CLOCKS_PER_SEC;
    clock_t start = clock();
    while (clock() - start < delay) { }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

运行时,在循环开始之前输出"Test".

为什么在程序终止之前我的输出没有缓冲?

c++ io buffer cout output

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

为什么只有 ) 是一个特殊字符而不是 } 或 ]?

我正在阅读Jan Goyvaerts 的“正则表达式:完整教程和参考来补充我的正则表达式。

在第二章中,Jan 有一节关于“特殊字符”:

特殊的角色

因为我们想要做的不仅仅是搜索文本的文字片段,所以我们需要保留某些字符以供特殊用途。在本教程讨论的正则表达式中,有 12 个具有特殊含义的字符:反斜杠 \、插入符号 ^、美元符号 $、句点或点 .、竖线或管道符号 |、问号 ?、星号或星号 *、加号 +、左括号 (, 右括号 )、左方括号 [ 和左花括号 {,这些特殊字符通常被称为“元字符”。大部分单独使用时都会出错。

(强调我的)

我知道只有开方括号和开大括号是特殊的,因为如果没有前面的开,则右括号或括号显然是文字。但是,如果其他两个关闭的不是特殊字符,为什么 Jan 指定关闭括号一个特殊字符?

regex

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

asp.net:__ doPostBack有时候没有呈现

我们昨天得到了奇怪的错误.___doPostBack未定义.

我们正在构建相当高级的网站,但不是很多使用回发.使用回发的地方之一是ASP.NET登录状态控件.

它是概率性的,有时它被渲染,有时 - 不是.对于IE浏览器,它的工作原理很好,但是从FireFox可以很高的机会不在页面源中使用doPostBack.

有任何想法吗?

PS:此外,错误仅发生在使用Windows 2003和IIS 5.0的实时环境中,dotnet框架为3.5

是不是因为我在页面级别上使用OutputCache?

asp.net webforms

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

C++:将C函数的返回值与NULL或nullptr进行比较?

我在C++中编码,并使用在失败的情况下返回NULL的C函数.什么是正确的想法,将其返回值与NULL或nullptr进行比较?

if ((CreateEventEx(myEventHandleHere) == NULL)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

要么

if ((CreateEventEx(myEventHandleHere) == nullptr)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

c++ null nullptr

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

在C++中如何比较字符数组与字符串的大小?

我有以下声明

char c[] = "Hello";
string c2 = "Hello";
Run Code Online (Sandbox Code Playgroud)

我想比较a)需要多少字节的内存和b)字符长度.我知道字符数组在字符串的末尾添加一个空终止符,而不是字符串数据类型.

运用

cout << "The sizeof of c: " << sizeof(c);
cout << "The sizeof of c2: " << sizeof(c2);
Run Code Online (Sandbox Code Playgroud)

返回6和4,我不知道为什么4而不是5?长度函数如何在这里比较...

当我使用以下代码时

cout << "The sizeof of c: " << sizeof(c);
cout <<"The sizeof of c2: " << c2.length();
Run Code Online (Sandbox Code Playgroud)

我得到6和5 ......但它是否以相同的方式比较长度?谢谢.

c++ arrays string size character

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

有时碎片失去活动

我无法理解什么是错的,在我的设备应用程序上运行良好,但有时在日志中(应用程序用户,会话,崩溃...通过某些服务跟踪)我看到应用程序崩溃(NullPointerException),Toast无法运行,因为activity变量为null.

第45行(populateCats()方法抛出异常NullPointerException)

    package package.name;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

import java.util.ArrayList;


public class CatsList extends ListFragment implements OnTaskCompleted {
    Document doc;
    MainActivity activity;
    ArrayList<Cat> cats;

    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        Cat cat = cats.get(position);

        //SOME CODE
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        new GetData(activity, this, false).execute(Jsoup.connect(MainActivity.url));
    }

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

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

How to resolve ambiguity inside a lambda that inside a static method?

我正在尝试编写日志记录功能,该功能将打印对象ID(如果存在)。VS 2019可以编译并正常运行,但Clang失败。如何为Clang工作?

注意:“ log”成员可以存在或不存在-取决于类开发人员。它是可选的。全局“ log”变量将始终存在。

简短示例:

int i = 0;

struct S {
    int i = 1;

    int f() {
        return i;
    }

    static int g() {
        return [&](){
            return i;
        }();
    }
};
Run Code Online (Sandbox Code Playgroud)

完整的例子

#include <cstdio>
#include <cassert>
#include <string>

using std::string;

#define LOG(x) [&]() \
    { \
      log.print(x); \
    } \
    ();

namespace myspace {

class Log
{
public:
  Log(string id)
    : m_Id(id)
  {
  }
  void print(const string& str)
  {
    printf("%s %s\n",m_Id.c_str(),str.c_str());
  }
private:
  string m_Id;
};

Log …
Run Code Online (Sandbox Code Playgroud)

c++ lambda static

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

字符和字符串的字符串连接

#include <bits/stdc++.h>
using namespace std;

int main() 
{
    string s1 = "Alice";
    s1 +='\0';
    s1 +='\0';
    cout << s1.size() << endl;         // output: 7

    string s2 = "Alice";
    s2 += "\0";
    s2 += "\0";
    cout << s2.size() << endl;         // output: 5
}
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?

请解释单引号和双引号在连接中的作用的区别。

c++

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

如何以双精度打印?

我对 C 完全陌生,我正在尝试完成一项任务。练习是打印 tan(x),x 从 0 递增到 pi/2。

我们需要在 float 和 double 中打印它。我写了一个似乎有效的程序,但我只打印了浮点数,而我预计会加倍。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    double x;
    
    double pi;
    pi = M_PI;
     
    for (x = 0; x<=pi/2; x+= pi/20)
    {
        printf("x = %lf, tan = %lf\n",x, tan(x));
        
    }
    
    exit(0);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 为什么我得到浮点数,而我将变量定义为 double 并在 printf 函数中使用 %lf ?

  • 我需要改变什么才能获得双打作为输出?

c floating-point double

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

在c ++中均匀地生成随机数

我想制作一个长度为16个元素的数字0,1,2列表,其中每个数字出现的次数相等(加或减1)

所以结果会是这样的: 0, 1, 0, 2, 1, 2, 1, 0, 2, 2, 1, 1, 0, 0, 2, 0

每个数字出现的次数

0 : 6
1 : 5
2 : 5
Run Code Online (Sandbox Code Playgroud)

这是我的代码,任何想法,使这些均匀?

srand(time(NULL));
for(int j = 0; j < 16; j++)
{
    int num = rand() % 3;
    if(j == 15)
        cout << num;
    else
        cout << num << ",";
}
Run Code Online (Sandbox Code Playgroud)

c++ random

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