小编pb2*_*b2q的帖子

使用getline()

嗨,有人可以向我解释为什么这两个程序有所不同?

int main (){
    string line;
    while (getline(cin,line)){
        cout << line;
    }
}
Run Code Online (Sandbox Code Playgroud)
int main (){
    string line;
    while (getline(cin,line)){
        cout << line << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

似乎第二个程序打印出所有内容,而第一个程序只出于某种原因打印最后一行.我正在从一个带有IO重定向的文件中抓取一行,但是当我想要打印出来的行时,我被迫打印一个换行符以获取所有行.

c++

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

禁用列表视图复选框

我正在使用simple_list_item_checkedlistview并以编程方式将checked设置为true/false.但是,当用户从列表中选择项目时,它会更改复选框的状态.

它只显示一秒钟,因为它会立即重定向到另一个活动.

如何在用户点击复选框时阻止复选框的更改?

android listview

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

如何在 mongoose.find 中执行动态数量的条件?

举个例子,在任何给定的运行时,

Books = { CatSelect : ["SciFi", "Humor", "History"], MinPages : [300,50,500] };

如果我在如下函数中手动编写查询find,它将按预期工作并找到页数大于指定类别中指定数量的书籍。

MyCollection.find({ $or: [ { Category: Books.CatSelect[0], Pages : { $gte: Books.MinPages[0] } }, { Category: Books.CatSelect[1], Pages : { $gte: Books.MinPages[1] } } ] }).execFind(function(err,result){
...
}
Run Code Online (Sandbox Code Playgroud)

但问题是我不知道会选择多少个类别,上面的示例是.find为 2 个类别设置的示例。

如何将不同数量的条件动态地放入函数中.find

当然,我可以将所有条件放在一个字符串中,但查询不是字符串也不是 JSON,所以我有点迷失了。

javascript mongoose mongodb node.js

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

数组+ =值在ksh中不起作用?

我在某处读到ksh的数组支持+=追加新元素,但我尝试了它并且它不起作用:

[ksh] # arr=(a b c d)
[ksh] # arr+=e
[ksh] # echo ${arr[*]}
ae b c d
[ksh] #
Run Code Online (Sandbox Code Playgroud)

为什么arr[0]变成了ae

ksh

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

动态表数据检索 - selenium webdriver

<table id="tblListViewHeader" class="adminlist" cellspacing="1" cellpadding="0" style="table-layout: fixed; width: 1003px;">
<tbody>
</table>
</td>
</tr>
<tr>
<td>
<div id="divListView" style="width: 100%; height: 300px; overflow: auto; display: block;">
<table id="tblListView" class="adminlist" cellspacing="1" cellpadding="0" style="table-layout: fixed; width: 100%;">
  <tbody data-bind="template: { name: 'ActiveGradeTemplate', foreach: ActiveGrade }">
    <tr class="row0">
      <td data-bind="text:$index()+1" style="width: 5%;">1</td>
      <td data-bind="text: GradeName" style="width: 20%;">Vantage Point</td>
      <td align="right" data-bind="text: DisplayCreatedDate" style="width: 10%;">27 Mar 2013</td>
      <td align="right" data-bind="text: CreatedByUser" style="width: 10%;">Name</td>
      <td align="right" data-bind="text: DisplayModifiedDate" style="width: 10%;">27 Mar 2013</td>
      <td align="right" data-bind="text: ModifiedByUser" …
Run Code Online (Sandbox Code Playgroud)

java testng selenium selenium-webdriver

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

用Java打印对象的名称

我已经研究过,虽然这是一个非常简单的问题,但我不确定如何解决它.

我的代码看起来像这样:

public class Playlist {

   public Playlist(String name) {

   }
}
Run Code Online (Sandbox Code Playgroud)

当然是单独的文件:

@Test
public void CreatePlaylist(){
    Playlist myPlaylist = new Playlist("Workout Playlist");

}
Run Code Online (Sandbox Code Playgroud)

我正在尝试打印这个新播放列表"锻炼播放列表"的实际名称,但我似乎无法找到这样做的方法.

java object

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

Android:尝试使用NullPointerException启动BluetoothSettings活动强制关闭

我正在尝试打开蓝牙设置的标准窗口(设备名称,可发现性等).

但是,一般方法startActivity(intent)结束时指向NullPointerExceptionBluetoothSettings.java onCreate:135.

检查Android代码,我发现在135行他们从意图中获得了一些额外的东西.所以我准备了相同的附加功能(我在android核心BluetoothDevicePicker接口中找到的名称)并发出它 - 与NullPointerException效果相同.

可能是我准备的额外内容的错误名称?

那么当我打开手动操作用户的蓝牙设置时,有没有一种方法可以从系统本身提交的意图中看到那些额外的(特别是名字)?

非常感谢.

我的代码是:

Intent settingsIntent = new Intent();
settingsIntent.setClassName("com.android.settings",      com.android.settings.bluetooth.BluetoothSettings");
settingsIntent.putExtra("android.bluetooth.devicepicker.extra.LAUNCH_PACKAGE", "mypackage.bttoggle");
settingsIntent.putExtra("android.bluetooth.devicepicker.extra.DEVICE_PICKER_LAUNCH_CLASS", "mypackage.bttoggle.BluetoothWidget");
PendingIntent settingsPendingIntent = PendingIntent.getActivity(context, 0, settingsIntent, 0);
views.setOnClickPendingIntent(R.id.btnSettings, settingsPendingIntent);
Run Code Online (Sandbox Code Playgroud)

这是一个小部件,所以我需要使用PendingIntent.

此代码在运行时获得以下异常:

ERROR/AndroidRuntime(4905):未捕获的处理程序:由于未捕获的异常而导致线程主要退出ERROR/AndroidRuntime(4905):java.lang.RuntimeException:无法启动活动ComponentInfo {com.android.settings/com.android.settings.bluetooth. BluetoothSettings}:java.lang.NullPointerException ERROR/AndroidRuntime(4905):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2596)ERROR/AndroidRuntime(4905):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 2621)ERROR/AndroidRuntime(4905):在android.app.ActivityThread.access $ 2200(ActivityThread.java:126)ERROR/AndroidRuntime(4905):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1932)ERROR/AndroidRuntime(4905):在android.os.Handler.dispatchMessage(Handler.java:99)ERROR/AndroidRuntime(4905):在android.os.Looper.loop(Looper.java:123)ERROR/AndroidRuntime(4905):在android.app.ActivityThread.main(ActivityThread.java:4595)ERROR/AndroidRuntime(4905):at java.lang.reflect.Method.invokeNative(Native Method) )ERROR/AndroidRuntime(4905):at java.lang.reflect.Method.invoke(Method.java:521)ERROR/AndroidRuntime(4905):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java) :860)ERROR/AndroidRuntime(4905):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)ERROR/AndroidRuntime(4905):at dalvik.system.NativeStart.main(Native Method)ERROR/AndroidRuntime(4905):引起:java.lang.NullPointerException ERROR/AndroidRuntime(4905):at com.android.settings.bluetooth.BluetoothSettings.onCreate(BluetoothSettings.java:135)ERROR/AndroidRuntime(4905):at android.app .Instrumentation.callActivityOnCreate(Instrumentation.java:1047)ERROR/AndroidRuntime(4905):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2544)ERROR/AndroidRuntime(4905):... 11更多

在调查之后,我发现在BluetoothSettings.java的第135行有:

public class BluetoothSettings extends PreferenceActivity
{

 ... 132 mNeedAuth = intent.getBooleanExtra(BluetoothDevicePicker.EXTRA_NEED_AUTH, false);
 133 mFilterType = intent.getIntExtra(BluetoothDevicePicker.EXTRA_FILTER_TYPE, 134 BluetoothDevicePicker.FILTER_TYPE_ALL);
 135 …
Run Code Online (Sandbox Code Playgroud)

settings android bluetooth

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

MPI - 从任务 0(根)接收多个 int

我正在解决这个问题。我正在实现循环映射,我有 4 个处理器,所以一个任务映射到处理器 1(根)上,然后其他三个是工人。我正在使用循环映射,并且我有几个整数作为输入,例如 0-40。我希望从每个工人那里接收(在这种情况下,每个工人将收到 10 个整数),进行一些计数并保存它。

我正在使用 MPI_Send 从根发送整数,但我不知道如何乘以从同一进程(根)接收一些数字。此外,我发送缓冲区大小固定为 1 的 int,当有数字(例如 12)时,它会做坏事。如何检查int的长度?

任何意见,将不胜感激。谢谢

mpi

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

在返回类型上重载operator []

从某种程度上说,有些事情让我的大脑感到不安:我试图根据返回类型重载[]运算符.这是我需要做的:

class A {

private:
    double* data_;
    int N_;
public:
    A (N=0):N_(N){
        data_ = new double[N];
    }
    ~A {delete[] data_;}

    double operator[] (const int i) {
        return data_[i];
    }

    double* operator[] (const int i) {
        return &data[i]; // for example; in fact here i need to return some block of data_ 
    }
};
Run Code Online (Sandbox Code Playgroud)

这段代码不会编译; 那是我的问题.有人可以帮我解决这个问题吗?

PS:我知道如何在返回类型上重载正常函数,例如:

int foo ();
string foo ();
Run Code Online (Sandbox Code Playgroud)

我使用了一些我在这个论坛中读到的技巧.通过这种方式:

struct func {
    operator string() { return "1";}
    operator int() { return 2; }
};

int main( …
Run Code Online (Sandbox Code Playgroud)

c++

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

何时在C++中生成默认构造函数

根据"Inside C++ Object Model",只有当以下四个条件中的任何一个为真时,编译器才会生成复制构造函数(如果程序员没有声明):

  1. 当类包含存在复制构造函数的类的成员对象时(由类设计器显式声明,如前一个String类的情况,或由编译器合成,如类Word的情况)

  2. 当类派生自存在复制构造函数的基类时(同样,显式声明或合成)

  3. 当类声明一个或多个虚函数时

  4. 当类派生自一个或多个基类是虚拟的继承链时

这意味着如果我有一个只有构造函数的类,那么编译器将不会提供复制构造函数.

让我们举一个例子:

class test
{
    test(){}
};
int main()
{
    test obj1;       //statement 1
    test obj2(obj1); //statement 2
}
Run Code Online (Sandbox Code Playgroud)

以上代码工作正常.现在问题来自我在类测试中添加以下行:

test(const test& rhs) = delete;
Run Code Online (Sandbox Code Playgroud)

"= delete"确保不会自动提供复制构造函数.添加上面的行后,我收到了声明2的错误Use of deleted function test::test(const test&).

我的问题是:根据"内部C++对象模型",我不需要上述类的复制构造函数,所以当我明确说不生成复制构造函数(使用删除)时,为什么会出现错误?因为我期望编译器不需要上面类的复制构造函数.

我使用的是gcc 4.6.3版.

c++

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