标签: default

宏作为函数参数的默认参数

我正在写记录器文件。我更喜欢在那里使用宏__FUNCTION__。我不喜欢这样的方式:

Logger.write("Message", __FUNCTION__);
Run Code Online (Sandbox Code Playgroud)

也许,有可能做这样的事情:

void write(const string &message, string functionName = __FUNCTION__)
{
   // ...
}
Run Code Online (Sandbox Code Playgroud)

如果没有,有没有什么方法可以不用手来做这些事情(我的意思是传递函数名)?

c++ macros arguments default function

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

SQL 视图中列的默认值

我有一个包含许多列的 SQL 视图。ID(地块 ID)例如:7465-85-7468 建筑物(如果需要特定建筑物的 ID)例如:102 房间(如果需要特定房间的 ID)例如:0023

我每行都有一个 ID,但对于大多数行,没有建筑物 ID 或房间 ID

我想用 '000' 来填充空白行以表示建筑,用 '0000' 来表示房间。

我可以将这些字段合并到第四个字段中(完整 ID)

它尝试使用“ISNULL”获取默认值,但没有成功。

现在,我有这样的东西

ID / 建筑物 / 房间 / 完整 ID

7848-05-6956 / / / 7848-05-6956--

6985-26-7485 / 102 / 0000 / 6985-26-7485-102-0000

7236-12-0145 / / 0223 / 7236-12-0145--0223

我需要这个

ID / 建筑物 / 房间 / 完整 ID

7848-05-6956 / 000 / 0000 / 7848-05-6956-000-0000

6985-26-7485 / 102 / 0000 / 6985-26-7485-102-0000

7236-12-0145 / 000 / 0223 / 7236-12-0145-000-0223

sql default view isnull

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

如果 std::make_unique 从未被调用,为什么在默认成员初始化中不需要参数?

默认成员初始化需要引用现有的构造函数,无论它是否被使用过。因此,查看一个Foo没有默认构造函数的结构:

struct Foo{
    Foo(int x) : x_(x){}
    int x_;
};
Run Code Online (Sandbox Code Playgroud)

很明显,以下内容不起作用,并导致编译错误:

class Bar0{
    Foo foo = Foo(); #constructor Foo() doesn't exist
    Bar0() : foo(0){}
}
Run Code Online (Sandbox Code Playgroud)

但是,它是一个不同的故事std::unique_ptrstd::make_unique

class Bar1{
    unique_ptr<Foo> foo = make_unique<Foo>(); #compiler doesn't complain
    Bar1() : foo(make_unique<Foo>(0)){}
}
Run Code Online (Sandbox Code Playgroud)

这是令人费解的,因为只要Bar1包含一个foo不在初始化列表中的构造函数,编译就会失败。

我可以确认这对 MSVC12 来说是正确的。可能是编译器错误吗?

c++ default initialization unique-ptr c++11

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

为什么在java8中使用“default”关键字

在 Java 8default中引入了方法实现。我的问题是为什么需要default在方法名称/签名中有关键字。为什么不能default像通常的方法实现一样没有关键字?

java default interface java-8

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

PrimeNg &lt;p-table&gt; 使用 MetaKey 默认排序的多重排序(例如前两列)

我有一张<p-table>桌子sortMode="multiple"。我想在页面首次显示时指定两列作为默认排序。如果我设置 sortMode="single",它可以通过指定 sortField="year" [sortOrder]="-1" 选项来工作(例如,标题显示为选中状态,列已排序)。多列相当于什么?

类似的示例代码(取自https://www.primefaces.org/primeng/showcase/#/table/sort


<h3>Multi Sort with MetaKey</h3>
<p-table [columns]="cols" [value]="cars2" sortMode="multiple">
    <ng-template pTemplate="header" let-columns>
        <tr>
            <th *ngFor="let col of columns" [pSortableColumn]="col.field">
                {{col.header}}
                <p-sortIcon [field]="col.field"></p-sortIcon>
            </th>
        </tr>
    </ng-template>
    <ng-template pTemplate="body" let-rowData let-columns="columns">
        <tr>
            <td *ngFor="let col of columns">
                {{rowData[col.field]}}
            </td>
        </tr>
    </ng-template>
</p-table>
Run Code Online (Sandbox Code Playgroud)
export class TableSortDemo implements OnInit {

    cars1: Car[];

    cars2: Car[];

    cars3: Car[];

    cols: any[];

    constructor(private carService: CarService) { }

    ngOnInit() {
        this.carService.getCarsSmall().then(cars => this.cars1 = cars);
        this.carService.getCarsSmall().then(cars => this.cars2 …
Run Code Online (Sandbox Code Playgroud)

sorting default multiple-columns primeng p-table

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

java中的引用变量

什么是java中引用变量的默认值(比如它对于原始int等是0)而且当(或如何)是指定NO VALUE的引用变量时,它何时被赋值为THE VALUE"NULL"

java default reference

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

如何每次都创建一个新的默认参数列表

我有以下设置:

def returnList(arg=["abc"]):
    return arg

list1 = returnList()
list2 = returnList()

list2.append("def")

print("list1: " + " ".join(list1) + "\n" + "list2: " + " ".join(list2) + "\n")

print(id(list1))
print(id(list2))
Run Code Online (Sandbox Code Playgroud)

输出:

list1: abc def
list2: abc def

140218365917160
140218365917160
Run Code Online (Sandbox Code Playgroud)

我可以看到arg = ["abc"]返回相同默认列表的副本,而不是每次都创建一个新列表.

我试过了

def returnList(arg=["abc"][:]):
Run Code Online (Sandbox Code Playgroud)

def returnList(arg=list(["abc"])):
Run Code Online (Sandbox Code Playgroud)

是否有可能获得一个新列表,或者每次我想要某种默认值时都必须在方法中复制列表?

python default

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

如何检查我的短信应用是否在Android中是默认的

我想检查我的短信应用是否设置为android中的默认应用.我正在关注本教程:

http://android-developers.blogspot.com/2013/10/getting-your-sms-apps-ready-for-kitkat.html

我可以通过以下代码将我的短信应用设置为默认短信应用:

Intent intent = new Intent(context, Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Sms.Intents.EXTRA_PACKAGE_NAME, context.getPackageName());
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

但我想检查我的短信应用是否设置为默认应用.我怎样才能做到这一点?

sms android default

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

Delphi 10 Rio中的变量初始化

我的公司使用Delphi已有数十年了,我们的核心程序是一个很旧的版本。它有大约130万行代码。

升级到Delphi 10 Rio后,出现了一个主要问题。我们的局部函数变量曾经使用默认值进行初始化(整数将为0,布尔值将为false),似乎不再是。现在我所有的变量在创建时都会获得一个随机值,因此整数的值类似于408796。

我想这不是新开发的问题,但是我相信您可以在我们的大型代码库中看到此问题。我们从来没有手动将默认值分配给这些变量,因为它可以正常工作。但是,对象变量始终存在此问题。所有属性均获得随机值,因此我们在进行处理时对此进行了改进。但是现在我们的程序完全中断了,因为所有计数器等都是从高值开始而不是从0开始。并且要遍历整个项目来解决这个问题,将需要几个月的时间。

也许有编译器选项可以更改此设置?倒退的是,他们会故意更改此设置,因为这样做很愚蠢。为什么要删除所有开发人员期望的功能?实际上,我原本希望这样做,否则对象变量将不再需要手动的默认值,并且可能实现了垃圾回收器。但是看来德尔福已经严重退步了吗?

如果有解决此问题的方法,请告诉我。

delphi variables default

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